javascript - 从范围中排除某些字符 - javascript 正则表达式

标签 javascript regex

只验证单词最简单的正则表达式(我认为)

/^\w+$/

我想从中排除数字和 _(因为它现在接受 aa10aa 和 aa_aa,我想拒绝它们)

我觉得可以通过

 /^[a-zA-z]+$/

这意味着我必须采取与之前不同的方法。

但是如果我想从这个范围中排除任何字符怎么办 假设我不允许 kKpP 或更多。

有没有办法在不改变范围的情况下在范围内添加排除列表?

最佳答案

要从 [a-zA-Z] 中排除 kp,您需要使用否定先行断言。

(?![kpKP])[a-zA-Z]+

必要时使用 anchor 。

^(?:(?![kpKP])[a-zA-Z])+$

它在匹配每个字符之前检查不是 kp

^(?!.*[kpKP])[a-zA-Z]+$

它只排除包含 kp 的行,只匹配那些只包含除 k 以外的字母的行p.

DEMO

关于javascript - 从范围中排除某些字符 - javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28271771/

相关文章:

javascript - 加载 Pinterest pinit.js 文件时在 Chrome 中出现警告

regex - 如何在Hive SQL中选择具有相同前缀(开始)或后缀(结束)或中间关键字(包括)的列

regex - 使用 RewriteRule 从重定向中删除主题标签

regex - 来自传入数据包的 sed 子字符串

javascript - 需要帮助 : RegEx for a password containing numbers and special chars

javascript - Webpack + Typescript - 如何将导入的非 UMD 模块隔离到一个文件中?

javascript - 跨 JavaScript 类的所有实例的相同变量

javascript - 我想在图像上添加圆形波纹悬停效果

javascript - Object.create源码解释?

JavaScript 正则表达式电子邮件验证