2016-12-27 155 views
1

我有這樣的正則表達式代碼。正則表達式和反斜槓

public class Main { 

public static void main(String[] args) { 
System.out.println(validateAddress("Test C\O good:product")); 
} 

public static boolean validateAddress(String address) { 
return address.matches("^[a-zA-Z0-9~`[email protected]#$%^&*()_+={|}:;'<,>? -/\"\t\n\\[\\] .]*$"); 
} 
} 

當我運行這個我得到假,因爲我的表達式不接受\字符。我試圖包括\但失敗。

請問如何在我的正則表達式中包含\字符進行驗證?

感謝, 拉克什

+2

首先,你想嘗試對' 「測試C \\澳優:產品」'。其次,爲了匹配反斜槓,在模式中使用''\\\\'''。最後,逃避'-'或者把它放在字符類的末尾。 –

回答

1

首先,你要嘗試對"Test C\\O good:product"作爲定義文字,你需要使用"\\"(兩個反斜槓)字符串中的反斜槓。其次,要匹配反斜槓,請在模式中使用"\\\\"。最後,逃離-或放在角色類的最後。

Java demo

public static void main (String[] args) throws java.lang.Exception 
{ 
    System.out.println(validateAddress("Test C\\O good:product")); 
} 
public static boolean validateAddress(String address) { 
    return address.matches("^[a-zA-Z0-9~`[email protected]#$%^&*()_+={|}:;'<,>?\\\\ /\"\t\n\\[\\] .-]*$"); 
} 
+0

謝謝。這幫助了我。 –

相關問題