正则表达式和反斜杠

时间:2016-12-27 12:35:47

标签: java regex

我有这样的正则表达式代码。

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\\[\\] .]*$");
 }
}

当我运行这个时,我得到假,因为我的表达式不接受\字符。我试图包括\但失败了。

关于如何在我的正则表达式中包含\字符进行验证,请帮忙吗?

谢谢, 拉克什

1 个答案:

答案 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\\[\\] .-]*$");
}