用于验证具有一定长度和开头数的正则表达式

时间:2013-05-10 10:25:10

标签: java regex xsd

我想验证一个值,该值应仅包含数字,长度应为11,不应以129开头。

这是可能的,因为我在正则表达式中效率不高吗?

2 个答案:

答案 0 :(得分:5)

使用否定前瞻。正则表达式应为^(?!129)\d{11}$将其转换为Java模式;逃避反斜杠。

答案 1 :(得分:0)

您可以使用

String num_regex = "^(?!129)\\b[0-9]{11}\\b";
String testString= "12345678910";
Boolean b = testString.matches(num_regex);
System.out.println("String: " + testString + " :Valid = " + b);
testString= "12945678910";
b = testString.matches(num_regex);
System.out.println("String: " + testString + " :Valid = " + b);

输出:

String: 12345678910 :Valid = true
String: 12945678910 :Valid = false