use*_*453 1 java regex matcher
我为java应用程序提供了以下Regex表达式:
[\+0-9]+([\s0-9]+)?
Run Code Online (Sandbox Code Playgroud)
如何将上述电话号码的表达限制为最少4位数,最多7位数?我认为这会像将{4,7}添加到表达式中但它不起作用.
有什么建议吗?
基本上我的电话号码可以以+号开头,后跟数字(+004 ......)或仅以数字(004 ......)开头,也可以在任意数字(0 0 4 ...)之间包含空格.
你可以尝试这个正则表达式:
[+]?(?:[0-9]\s*){4,7}
Run Code Online (Sandbox Code Playgroud)
说明:
[+]? // Optional + sign
(?:[0-9]\s*) // A single digit followed by 0 or more whitespaces
{4,7} // 4 to 7 repetition of previous pattern
Run Code Online (Sandbox Code Playgroud)
样品测试:
String regex = "[+]?(?:[0-9]\\s*){4,7}";
System.out.println("0045234".matches(regex)); // true
System.out.println("+004 5234".matches(regex)); // true
System.out.println("+00 452 34".matches(regex)); // true
System.out.println("0 0 4 5 2 3 4".matches(regex)); // true
System.out.println("004523434534".matches(regex)); // false
System.out.println("004".matches(regex)); // false
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3542 次 |
最近记录: |