javascript - 接受可以包含特定集合的字符串+如果包含特定单词则拒绝它

标签 javascript java

我有一个下面提到的正则表达式。

(^[\s]*[0-9a-zA-Z\^\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\*\+\'\~\""\:\;\_\?]+[0-9a-zA-Z\^\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\*\+\'\~\""\:\;\_\?\s]*[0-9a-zA-Z\^\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\*\+\'\~\""\:\;\_\?]*[\s]*$)

我想在这个正则表达式中添加一个条件,如果它包含单词“java”,它应该拒绝完整的字符串。我在这个网站上尝试了许多其他示例,但无法获得正确的解决方案。

我将它与一个实际上是一个段落的字符串相匹配,即它可以包含换行符、制表符和多个空格。

最佳答案

添加(?!X) zero-width negative lookahead到开始。

如果您不知道现有的正则表达式是什么,请将其包装在非捕获组中,否则顶级 | (OR) 将破坏它。

String newRegex = "(?!(?s:.*?)java)(?:" + oldRegex + ")";

关于javascript - 接受可以包含特定集合的字符串+如果包含特定单词则拒绝它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60963742/

相关文章:

java - 偏序集迭代实现的正确性

javascript - 无法访问使用 useState Hook 复制的数据

Javascript对象获取上面的值

将 bbcode 转换为 javadoc 的 Java IDE 插件或外部工具(ant、maven、独立)?

java - 当 getErrorPath() 返回 "/error"以外的路径时,自定义错误页面不起作用

java - 格式 XXXXXXX_YZZZZ 的正则表达式

javascript - Firefox 中的 setTimeout 问题

javascript - 如何防止触发传入 javascript 函数的回调

javascript - JS 压缩 - PageSpeed(Google Chrome 报告)

java - 将自定义数据源添加到 Jaspersoft Studio