【发布时间】:2017-04-28 05:22:21
【问题描述】:
对于包含至少一个字母的任何字符串,我都有我的基本 javascript 正则表达式:
^(.*[A-Za-z]+.*)+
现在我想更新这个正则表达式,使其与以下单词不匹配:“n\a”和“none”。包含它们是有效的,意味着“n\aa”或“nn\a”是有效的,只有与我不想要的词完全匹配的词才会导致正则表达式不匹配。
我看到很多不包含特定字符串的单词的例子都使用了否定的向后看,比如
^(?!.*bar).*$
但我无法将其转换为完全匹配。
【问题讨论】:
-
试试
^(\bn/a\b|\bnone\b) -
试试
/^(?![\s\S]*\b(?:n\\a|none)\b)[^a-z]*[a-z][\s\S]*$/i -
你想匹配单词还是只是测试/验证?
-
至少包含一个字母 alphabet 是一组用于书写语言的书写符号,例如用于书写英语的罗马字母。您的意思是“字母”或“字母字符”。关于你的正则表达式,我不确定
^和括号和.*的含义——它完全等同于写/a-z/i。顺便问一下,\a是什么意思?您的意思是文字反斜杠后跟“a”吗?
标签: javascript regex