
Ich versuche hier einen Regex-Ausdruck abzugleichen und hoffe auf eine Richtung.
Ich versuche, Übereinstimmungen für die folgende Liste zu ignorieren, aber alles andere um diese Befehlszeile herum abzugleichen:
(?i)/FORMAT:[^(CSV|HFORM|HTABLE|LIST|MOF|RAWXML|TABLE|VALUE|XML)]
Kann jemand anders eine Anleitung geben?
Um meiner Geschichte noch mehr hinzuzufügen: Ich versuche, in Azure Sentinel einen regulären Ausdruck zu erstellen, der mit allen Dateierweiterungen außer der folgenden Liste übereinstimmt. Azure Sentinel verwendet meines Wissens Python-Regex, und ich kriege es einfach nicht hin, dass es richtig funktioniert.
Antwort1
Nur eine Vermutung.
(?i)\/FORMAT:(?!(?:CSV|HFORM|HTABLE|LIST|MOF|RAWXML|TABLE|VALUE|XML))\w+
?!
bedeutet (Doppelpunkt) „nicht gefolgt von“.
?:
bedeutet „diese Klammer nicht erfassen“ (macht es vielleicht etwas schneller).
\w+
bedeutet „ein Wort“.
https://regex101.com/r/DmQwAa/1
Oder meinst Du sowas wie:
(?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
Benötige mehr Beispiele vom OP.