匹配电话号码前面没有文字

问题描述 投票:0回答:1

我尝试使用负向lookbehind正则表达式来匹配前面没有文本的电话号码:

Tel (123) 456-7890

到目前为止我所拥有的两种情况都有,无论有没有前面的文字,都不确定原因。

(?<!Tel )(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}

谢谢

java regex
1个回答
1
投票

在模式的开头使用负向前瞻:

^(?!Tel)(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}
^^^^^^^^

正则表达式演示here


或者锚定负面的背后:

^(?<!Tel )(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}
^^^^^^^^

正则表达式演示here

© www.soinside.com 2019 - 2024. All rights reserved.