我有一个下面提到的正则表达式。
(^[\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/