Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式Java电话号码_Java_Regex - Fatal编程技术网

正则表达式Java电话号码

正则表达式Java电话号码,java,regex,Java,Regex,我使用上面的模式来匹配电话号码,但是像110123456789这样的号码与模式匹配。但是,第三个数字是0,应该是9。这种模式有什么问题 电话号码可以有10或11位数字。如果数字有11位,第三位必须是9。 例如: 11 1234 5678 48 91234 5678有两件事: 问号表示9是可选的,因此如果需要9,请将其删除 正则表达式可以匹配字符串的一部分。在正则表达式的开头使用“^”,结尾使用$,以仅匹配整个字符串。看见 只需使用单词边界\b: 使用 ^\d{2}\s?9?\d{4}\s?\d{

我使用上面的模式来匹配电话号码,但是像110123456789这样的号码与模式匹配。但是,第三个数字是0,应该是9。这种模式有什么问题

电话号码可以有10或11位数字。如果数字有11位,第三位必须是9。 例如:

11 1234 5678

48 91234 5678有两件事:

问号表示9是可选的,因此如果需要9,请将其删除 正则表达式可以匹配字符串的一部分。在正则表达式的开头使用“^”,结尾使用$,以仅匹配整个字符串。看见 只需使用单词边界\b:

使用

^\d{2}\s?9?\d{4}\s?\d{4}$

这将捕获您的示例并将数字分组,如

AA BBB CCCC


电话号码取决于你从哪里来。你能发布一个示例或一个掩码吗?Pattern Pattern=Pattern.compile^\\d{2,2}9?\\d{4,4}\\d{4,4}$;-它起作用了。
Pattern pattern = Pattern.compile("\\d{2,2}9?\\d{4,4}\\d{4,4}");
Pattern pattern = Pattern.compile("\\b\\d{2}9?\\d{4}\\d{4}\\b");