如何使用正则表达式避免字符串中的某些单词
字符串不应包含测试,使用以下表达式的示例单词
^((?!(sample|test)).)*$
Run Code Online (Sandbox Code Playgroud)
我可以做,但在某些情况下会失败
example:
1) this is a test case
2) this is a testing area
Run Code Online (Sandbox Code Playgroud)
在上述两个示例案例中
1.它有一个单词测试,所以它工作得很好,但在示例
2)它没有一个应该允许的单词测试
有什么办法可以实现这一目标吗?感谢您的宝贵时间和回复
您需要\b在单词周围使用,以便它们允许匹配,仅当它们不作为整个单词出现时。尝试使用这个,
^(?:(?!\b(sample|test)\b).)*$
Run Code Online (Sandbox Code Playgroud)
此外,最好将组设为非捕获,除非您打算使用它们的值。
编辑:
为了使其区分大小写,i通过在正则表达式i之后放置来启用标志/。JS演示,
^(?:(?!\b(sample|test)\b).)*$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |