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
,因为[…]
可以匹配指定字符集中的单个字符。我们可以在[…]中使用\+
(我不喜欢它,因为它只会产生像这样的混乱),但这并不意味着这个代码< > /代码>。考虑访问,获得更多关于“代码>………/代码>元字符的信息。