Regex 正则表达式,匹配除这些字符串以外的任何内容

Regex 正则表达式,匹配除这些字符串以外的任何内容,regex,regex-negation,splunk,negative-lookahead,Regex,Regex Negation,Splunk,Negative Lookahead,在Splunk中,我有许多字段提取,用于从uri茎中提取值。我有一些匹配特定模式的正则表达式,我现在想要另一个正则表达式,它匹配除这些之外的任何东西 ^/SiteName/[^/]*/(?<a_request_type>((?!Process)|(?!process)|(?!Assets)|(?!assets))[^/]+) ^/SiteName/[^/]*/(?((!流程)|(!流程)|(!资产)|(!资产))[^/]+) 上面的正则表达式是我到目前为止所拥有的。我希望负面的外

在Splunk中,我有许多字段提取,用于从uri茎中提取值。我有一些匹配特定模式的正则表达式,我现在想要另一个正则表达式,它匹配除这些之外的任何东西

^/SiteName/[^/]*/(?<a_request_type>((?!Process)|(?!process)|(?!Assets)|(?!assets))[^/]+)
^/SiteName/[^/]*/(?((!流程)|(!流程)|(!资产)|(!资产))[^/]+)
上面的正则表达式是我到目前为止所拥有的。我希望负面的外观会阻止它匹配流程、流程、资产或资产。然而,看起来这些lookahead之后的[^/]+仍然可以继续匹配这些字符串。导致这个正则表达式有时会覆盖我编写的其他正则表达式以接受这些字符串

除了在负lookaheads中指定的字符串外,让正则表达式与任何字符串匹配的正确语法是什么


谢谢

负面外观标题不使用正在搜索的任何字符串。当您需要多个负面外观头部时,无需使用
|
(或)将其分开。试试这个:

^/SiteName/[^/]*/(?<a_request_type>((?![Pp]rocess)(?![Aa]ssets))[^/]+)

^/SiteName/[^/]*/(?。

我知道,在你发布后3分钟内我无法标记它。还剩5秒;)我想你可以进一步将其缩减为
(?![Pp]process |[Aa]ssets)
@大慧
\b(?:(!foo)|(!bar))\w+
。但是
\b(?!foo | bar)\w+
。这是一个逻辑错误。是的,所以它不匹配一个,而且会匹配下一个,我明白了。谢谢