正则表达式匹配不应该出现的时间

时间:2019-09-06 00:11:01

标签: javascript regex

好吧,我对regex有一定的经验,但是我经常使用它们进行简单的模式匹配,我在JS中进行此操作,有两种模式可以找到,即PO总是在POO1234和PO1234之间,区别在于,在一种情况下,采购订单后还有一个附加的任意字母,但在两种情况下,其余均为数字。

所以我尝试了/^PO\w{1}\d+$/,并且它匹配“ PO1234”?现在不需要单个额外的Alpha吗?如果有人可以解释为什么这是一个匹配项并提出解决方案,我将非常感激。

谢谢

2 个答案:

答案 0 :(得分:2)

  

所以我尝试了html, body { height:100%; } ,并且它匹配“ PO1234”?不是单身   现在需要额外的Alpha吗?

好吧,这里有几点:

  • 您的模式与“ PO1234”匹配,因为/^PO\w{1}\d+$/与单词字符(表示任何字母数字字符或下划线)匹配。

  • \w是多余的。例如,{1}等于a

  • 您实际上不需要两个模式。您可以使用:

    a{1}

参考:

答案 1 :(得分:0)

\ w是单词字符,为[a-zA-Z0-9],因此它实际上与第一位数字匹配。而是将\ w更改为[A-Z]