我有这种字符串('123','12345678'),我会验证它抛出一个正则表达式。 我已经写了这段代码,但我并不觉得它有用。
String field = "('123','12345678')";
String regex = "^('\\d{3}','\\d{8}')$";
public void valideField(String field, String regex){
{
if(!field.matches(regex)){
System.out.println("Not validated!");
}
}
正确的正则表达式是不是?您有任何建议或帮助吗?
答案 0 :(得分:2)
您需要转义括号(使用反斜杠),因为它们表示正则表达式中的捕获组:
String regex = "^\\('\\d{3}','\\d{8}'\\)$";
答案 1 :(得分:-2)
您必须使用\\'
和\\(
正确的正则表达式是:
String regex = "\\(\\'\\d{3}\\',\\'\\d{8}\\'\\)";