我正在尝试在这里匹配一个正则表达式,并希望得到一个方向。
我试图忽略以下列表的匹配但匹配此命令行周围的所有其他内容:
(?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 提供更多示例。