帮助特定正则表达式 - 不包含某些字符串

Jos*_*hua 5 regex regex-negation

我怎么说,在正则表达式中:

字符串的任何部分,以大写字母开头,包含至少一个空格字符,不包含字符串
" _ "(空格下划线空格),以字符串"!!!"结尾 (没有引号)?

我遇到了"不包含"部分的问题.

这是我到目前为止:

[A-Z].* .*!!!
Run Code Online (Sandbox Code Playgroud)

如何修改它以指定"不包含'_'"?

它不需要是特定的字符串"_".怎么说"不包含"任何字符串?例如不包含"狗"?

编辑:我希望该解决方案与Php的"preg_replace"兼容

编辑:示例:

"_"的示例:

Abc xyz !!! <---匹配

你好,世界!!!<---匹配

有_空间下划线空间!<---不匹配

"狗"的例子:

真是个狗!<---不匹配,(包含"狗")

你好,世界!!!<---匹配

ato*_*zer 2

仅当表达式后面没有紧跟 时才x(?!y)匹配。所以,这似乎是你想要的:xy

[A-Z](?!%s)(.(?!%s))* (.(?!%s))*!!!
Run Code Online (Sandbox Code Playgroud)

%s你的禁线在哪里。