为什么我的负面表情无法在正则表达式中使用?

时间:2019-02-23 05:44:51

标签: regex

这是我的正则表达式:

\w*\d{6,}\.*\-*\d|[a-z]{2}\-{1}[0-9]+\-\d*

这是我的干草堆

  

+19185555555:这是斯科特(Scott),在塔尔萨(Tulsa)的任何公司都可以。我们需要一位西班牙翻译在19/1/25星期五在任何建筑物举行11:00会议。 444 S无论大街,塔尔萨。姓氏Mcdowel。联系人是Katherine Zeta Jones 918-555-5555。引荐编号1973756 11:28 AM

我制作了正则表达式,因此它不会捕获电话号码,但是我发现这些讨厌的数字没有空格或破折号。幸运的是,在我的情况下,它们可以被识别,因为它们前面带有“ +”。

我只是想匹配引荐编号,但它一直都匹配,并输出第一个匹配项。

我尝试过负面评价,但不适用于任何正则表达式测试器。我的负面表情在后面怎么了?

(?<!\+)\w*\d{6,}\.*\-*\d|[a-z]{2}\-{1}[0-9]+\-\d*

1 个答案:

答案 0 :(得分:0)

您可以将\d添加到后面的否定字符集中,以避免与+符号后面的数字后面的数字匹配:

(?<![+\d])\w*\d{6,}\.*\-*\d|[a-z]{2}\-{1}[0-9]+\-\d*

演示:https://regex101.com/r/8Kwqys/1