标签: java regex
我尝试使用正则表达式后面的负数来匹配不带文本的电话号码:
Tel (123) 456-7890
到目前为止,我所拥有的与两种情况都匹配,有无前文, 不知道为什么。
(?<!Tel )(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}
谢谢
答案 0 :(得分: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