Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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_Php_Regex - Fatal编程技术网

Java 正则表达式包含一个或多个电话号码

Java 正则表达式包含一个或多个电话号码,java,php,regex,Java,Php,Regex,我需要一个正则表达式,它将匹配一个或多个可以用分号(;)分隔的电话号码,并且号码长度可以是7个或更多字符0-9和+,-, 例如: 1234567 1234567;1234567 1234567;+0591234567 1234567777;1234567777;1234567891 我尝试了以下正则表达式,但失败了: ^[0-9.-_+]{7,}(;[0-9.-_+]{7,})*$ 这几乎是正确的,只需在regexp中使用的字符之前使用\(反斜杠)。试试看- ^[0-9.\-_+]{7,}(

我需要一个正则表达式,它将匹配一个或多个可以用分号(
)分隔的电话号码,并且号码长度可以是7个或更多字符
0-9
+
-

例如:

1234567
1234567;1234567
1234567;+0591234567
1234567777;1234567777;1234567891
我尝试了以下正则表达式,但失败了:

^[0-9.-_+]{7,}(;[0-9.-_+]{7,})*$

这几乎是正确的,只需在regexp中使用的字符之前使用\(反斜杠)。试试看-

^[0-9.\-_+]{7,}(;[0-9.\-_+]{7,})*$
更新:

它比以前的更完美-

(?<=\;|\A)[\+\-\_]?\d{7,}(?=\;|\Z)

(?这几乎是正确的,只需在regexp中使用的字符之前使用\(反斜杠)。试试看-

^[0-9.\-_+]{7,}(;[0-9.\-_+]{7,})*$
更新:

它比以前的更完美-

(?<=\;|\A)[\+\-\_]?\d{7,}(?=\;|\Z)

(?可能的副本需要更精确地说明您正在尝试做什么,并显示您如何使用此正则表达式。如果我猜到了您的意图,那么它应该会起作用:可能的副本需要更精确地说明您正在尝试做什么,并显示您如何使用此正则表达式。如果我猜到了您的意图,那么它应该会起作用:Only
-
[…]中是特殊的
因为它可以用来创建像
a-z
这样的字符范围。我们不需要在那里转义
+
。而且如果它是最后一个字符,则不需要转义
-
如果在regexp中使用“+”字符作为1到INF重复,那么“-”用于表示范围,“-”用于表示任何字符。所以y你需要转义它们。
[a+]
意味着
a
+
字符,而不是
a
aa
,因为
[…]
可以匹配指定字符集中的单个字符。我们可以在
[…]中使用
\+
(我不喜欢它,因为它只创建了像这样的混乱),但这并不意味着这个代码< > /代码>需要考虑。访问更多关于“代码>……/代码>元字符的信息。只有<代码> -<代码>在<代码> []中是特殊的。
因为它可以用来创建像
a-z
这样的字符范围。我们不需要在那里转义
+
。而且如果它是最后一个字符,则不需要转义
-
如果在regexp中使用“+”字符作为1到INF重复,那么“-”用于表示范围,“-”用于表示任何字符。所以y你需要转义它们。
[a+]
意味着
a
+
字符,而不是
a
aa
,因为
[…]
可以匹配指定字符集中的单个字符。我们可以在
[…]中使用
\+
(我不喜欢它,因为它只会产生像这样的混乱),但这并不意味着这个代码< > /代码>。考虑访问,获得更多关于“代码>………/代码>元字符的信息。