只验证单词最简单的正则表达式(我认为)
/^\w+$/
我想从中排除数字和 _
(因为它现在接受 aa10aa
和 aa_aa,我想拒绝它们)
我觉得可以通过
/^[a-zA-z]+$/
这意味着我必须采取与之前不同的方法。
但是如果我想从这个范围中排除任何字符怎么办
假设我不允许 k
、K
、p
、P
或更多。
有没有办法在不改变范围的情况下在范围内添加排除列表?
最佳答案
要从 [a-zA-Z]
中排除 k
或 p
,您需要使用否定先行断言。
(?![kpKP])[a-zA-Z]+
必要时使用 anchor 。
^(?:(?![kpKP])[a-zA-Z])+$
它在匹配每个字符之前检查不是 k
或 p
。
或
^(?!.*[kpKP])[a-zA-Z]+$
它只排除包含 k
或 p
的行,只匹配那些只包含除 k
或 以外的字母的行p
.
关于javascript - 从范围中排除某些字符 - javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28271771/