为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

波斯汪 2021-10-07 10:46:29
好的,我对正则表达式有一些经验,但我经常使用它们进行简单的模式匹配,我在 JS 中这样做,我有两个模式要查找,“POA1234”和“PO1234”PO 将始终存在,区别在于在一种情况下,PO 后面有一个额外的任意 alpha,但在这两种情况下,其余都是数字。所以我试过了/^PO\w{1}\d+$/,它匹配“PO1234”?现在不需要单个额外的 alpha 吗?如果有人可以解释为什么这是一场比赛并提出修复建议,我将不胜感激。
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

所以我试过了/^PO\w{1}\d+$/,它匹配“PO1234”?现在不需要单个额外的 alpha 吗?

嗯,这里有几点:

  • 您的模式匹配“PO1234”,因为\w匹配一个单词字符(这意味着任何字母数字字符或下划线)。

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

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

    ^PO[a-zA-Z]?\d+$


查看完整回答
反对 回复 2021-10-07
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

\w 是一个单词字符,它是 [a-zA-Z0-9] 所以它实际上匹配第一个数字。相反,将 \w 更改为 [AZ]


查看完整回答
反对 回复 2021-10-07
  • 2 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信