如果未找到子字符串,则正则表达式匹配

Regex match if a substring is NOT found

本文关键字:正则表达式 字符串 如果      更新时间:2023-09-26

我尝试仅在字符串中不包含子字符串"密码"时才进行正则表达式匹配。

我遇到的唯一声称可以解决此问题的解决方案是: ((?!password).)

但是,这与"密码123"匹配

则表达式可以做到这一点吗?我有一种感觉,我可能不得不依靠编码逻辑。

编辑:我正在使用Javascript pattern.test(string)

你真的不需要这里的正则表达式...

if (str.indexOf("password") === -1) {
    // use str
}

很简单:你需要锚定正则表达式,也许添加一个量词......

^((?!password).)+$

$并非完全必要,但拥有总比没有好。

您的正则表达式可能正在字符串中的任何位置查找匹配项,如果它正在检查的部分在 password 中的p之后,这将不起作用。