我是 Java 正则表达式的新手。如果您发现这个问题真的很简单,我深表歉意。但是我已经看到了一些类似的问题并尝试了这些答案,但都没有奏效。
我正在尝试匹配具有模式“括号外的单词(单词)”的字符串,括号内的内容可能有多种选择,但我想排除其中一些。换句话说,应该匹配括号内不包含某些单词的字符串。
例如,如果我不希望 A 或 B 在括号内,
words outside parenthesis ( C ) // should match
words outside parenthesis ( A ) // should not match
words outside parenthesis ( B ) // should not match
其中 A 和 B 可以是单词或短语。但它们不会一起出现(模式“AB”不可能出现在括号内)。
我试过了:
.+\(\s*(?!A|B)\s*\)
和
.+\(\s*^/(?!A|B)\s*\)
和
.+\(\s*(?!\bA\b)(?!\bB\b)\s*\)
然而,他们都没有工作。请帮忙!谢谢!
编辑:
也许我没有澄清自己。A 或 B 可以是单词或短语,这意味着 A 可能是单词 'hello',B 可能是 'hello world',我不想匹配 'hello' 或 'hello world'。所以 [^AB] 不适用于我的情况,因为那会变成 [^hellohello world]。