![正则表达式查询-用于匹配除字符串之外的所有内容](https://linux22.com/image/761088/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%9F%A5%E8%AF%A2-%E7%94%A8%E4%BA%8E%E5%8C%B9%E9%85%8D%E9%99%A4%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B9%8B%E5%A4%96%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9.png)
我正在尝试在这里匹配一个正则表达式,并希望得到一个方向。
我试图忽略以下列表的匹配但匹配此命令行周围的所有其他内容:
(?i)/FORMAT:[^(CSV|HFORM|HTABLE|LIST|MOF|RAWXML|TABLE|VALUE|XML)]
还有人可以提供一些指导吗?
补充一下我的故事:我正在尝试在 Azure Sentinel 中构建一个正则表达式来匹配除以下列表之外的所有文件扩展名。我相信 Azure Sentinel 使用 Python Regex,但我无论如何都无法让它正常工作。
答案1
只是猜测。
(?i)\/FORMAT:(?!(?:CSV|HFORM|HTABLE|LIST|MOF|RAWXML|TABLE|VALUE|XML))\w+
?!
意思是(冒号)“后面没有”。
?:
意思是“不要捕获这个括号”(可能会更快一些)。
\w+
意思是“一个词”。
https://regex101.com/r/DmQwAa/1
或者你的意思是这样的:
(?i)^\S+\s+(?:[\/-]\S+\s+){0,100}[\/-]FORMAT:(?!(?:CSV|HFORM|HTABLE|LIST|MOF|RAWXML|TABLE|VALUE|XML))\S+\s+(?:[\/-]\S+(?:\s+|$)){0,100}$
https://regex101.com/r/DmQwAa/3
需要 OP 提供更多示例。