import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchPhoneNumbers {
public static void main(String[] args) {
String sPhoneNumber = "5568889999";
// String sPhoneNumber = "605-88899991";
// String sPhoneNumber = "605-888999A";
Pattern pattern = Pattern.compile("^(?![5][5][5]).*$&\\d([2-9]{9})");
// Pattern pattern = Pattern.compile("^[^555]\\d{7}|\\d([2-9]{9})");
// ^[^0-9]+$
Matcher matcher = pattern.matcher(sPhoneNumber);
if (matcher.matches()) {
System.out.println("Phone Number Valid");
} else {
System.out.println("Phone Number must be in the form XXXXXXXXXX");
}
}
}我希望这是返回电话号码有效时,我输入556和假,只有当前3位数是555。此外,我不希望第一个数字是0或1如何实现这一点?
发布于 2018-03-18 17:16:28
要匹配您的数字格式,可以使用:
在Java中:
^(?![01]|555)\\d{10}$
这将符合:
^开始(?!负前瞻性断言以下内容不是[01]匹配0或1|或555匹配
)关闭负前瞻\d{10}匹配10位数字$字符串的末尾演示Java
https://stackoverflow.com/questions/49263516
复制相似问题