我有这样的正则表达式代码。
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~`!@#$%^&*()_+={|}:;'<,>? -/\"\t\n\\[\\] .]*$");
}
}
当我运行这个时,我得到假,因为我的表达式不接受\字符。我试图包括\但失败了。
关于如何在我的正则表达式中包含\字符进行验证,请帮忙吗?
谢谢, 拉克什
答案 0 :(得分: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~`!@#$%^&*()_+={|}:;'<,>?\\\\ /\"\t\n\\[\\] .-]*$");
}