猿问

不应该存在时的正则表达式匹配

好的,我对正则表达式有一些经验,但我经常使用它们进行简单的模式匹配,我在 JS 中这样做,我有两个模式要查找,“POA1234”和“PO1234”PO 将始终存在,区别在于在一种情况下,PO 后面有一个额外的任意 alpha,但在这两种情况下,其余都是数字。

所以我试过了/^PO\w{1}\d+$/,它匹配“PO1234”?现在不需要单个额外的 alpha 吗?如果有人可以解释为什么这是一场比赛并提出修复建议,我将不胜感激。


波斯汪
浏览 130回答 2
2回答

FFIVE

所以我试过了/^PO\w{1}\d+$/,它匹配“PO1234”?现在不需要单个额外的 alpha 吗?嗯,这里有几点:您的模式匹配“PO1234”,因为\w匹配一个单词字符(这意味着任何字母数字字符或下划线)。{1}是多余的。例如,a等于a{1}。你实际上并不需要两个模式。你可以只使用:^PO[a-zA-Z]?\d+$

慕田峪7331174

\w 是一个单词字符,它是 [a-zA-Z0-9] 所以它实际上匹配第一个数字。相反,将 \w 更改为 [AZ]
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答