[英]Accept a string that can contain specific set + reject it if it contains specific word
我有一个下面提到的正则表达式。
(^[\s]*[0-9a-zA-Z\^\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\*\+\'\~\""\:\;\_\?]+[0-9a-zA-Z\^\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\*\+\'\~\""\:\;\_\?\s]*[0-9a-zA-Z\^\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\*\+\'\~\""\:\;\_\?]*[\s]*$)
我想在这个正则表达式中再添加一个条件,如果它包含单词“java”,它应该拒绝完整的字符串。 我在这个站点上尝试了许多其他示例,但无法获得正确的解决方案。
我将它与实际上是一个段落的字符串匹配,即它可以包含换行符、制表符和多个空格。
将(?!X)
零宽度负前瞻添加到开头。
如果您不知道现有的正则表达式是什么,请将其包装在非捕获组中,否则为顶级|
(或)会破坏它。
String newRegex = "(?!(?s:.*?)java)(?:" + oldRegex + ")";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.