में बैकस्लैश से बचने के लिए संदर्भ के साथ की जरूरत है प्रश्न के नीचे - String.replaceAll single backslashes with double backslashesजावा, नियमित अभिव्यक्ति, करने के लिए regex
मैं एक परीक्षण कार्यक्रम को लिखा था और मैंने पाया कि परिणाम दोनों ही मामलों में सच है, कि क्या मैं बैकस्लैश से बचने या नहीं। ऐसा इसलिए हो सकता है क्योंकि - \ t एक मान्यता प्राप्त जावा स्ट्रिंग एस्केप अनुक्रम है। (कोशिश करें और यह शिकायत करेगा)। - \ t को रेगेक्स में शाब्दिक टैब के रूप में लिया जाता है। मैं कुछ कारणों से अनिश्चित हूं।
क्या जावा में रेगेक्स से बचने के बारे में कोई सामान्य दिशानिर्देश है। मुझे लगता है कि दो बैकस्लाश का उपयोग सही दृष्टिकोण है।
मैं अभी भी आपकी राय जानना चाहता हूं।
public class TestDeleteMe {
public static void main(String args[]) {
System.out.println(System.currentTimeMillis());
String str1 = "a b"; //tab between a and b
//pattern - a and b with any number of spaces or tabs between
System.out.println("matches = " + str1.matches("^a[ \\t]*b$"));
System.out.println("matches = " + str1.matches("^a[ \t]*b$"));
}
}
यह सही है, * "मुझे विश्वास है" * आवश्यक नहीं है। जावा स्ट्रिंग में '" \\ टी "' '\ t "' में अनुवाद करता है, जो रेगेक्स इंजन में एक टैब कैरेक्टर में अनुवाद करता है। '" \ T "' जावा स्ट्रिंग में एक टैब वर्ण में अनुवाद करता है, जो रेगेक्स में अपरिवर्तित बनी हुई है। – Tomalak
धन्यवाद। मै समझता हुँ। – RuntimeException
@Tomalak _'I believe'_ bit से छुटकारा पा लिया ... इसके बारे में खेद है ... –