
Я пытаюсь сопоставить здесь регулярное выражение и надеюсь получить указание.
Я пытаюсь игнорировать совпадения для следующего списка, но сопоставлять все остальное вокруг этой командной строки:
(?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
Нужно больше примеров от ОП.