Ich versuche einen regulären Ausdruck zu finden, der mit jeder Zeichenfolge übereinstimmt, die nicht mit mpeg beginnt. Eine Verallgemeinerung von dies entspricht einer beliebigen Zeichenfolge, die nicht mit einem bestimmten regulären Ausdruck beginnt.
Ich habe etwas wie folgt versucht:
%Vor%Das Problem dabei ist, dass mindestens 4 Zeichen in der Zeichenfolge vorhanden sein müssen. Ich war nicht in der Lage, einen guten Weg zu finden, um damit umzugehen, und einen verallgemeinerten Weg, dies auf allgemeine Art und Weise zu handhaben.
Ich werde das in Python verwenden.
Dies verwendet ein negatives Lookahead, um nur einer Zeichenfolge zu entsprechen, bei der der Anfang nicht mit mpeg
übereinstimmt. Im Wesentlichen erfordert es, dass "die Position am Anfang der Zeichenkette keine Position sein kann, an der wir mit dem Regex mpeg
übereinstimmen könnten, wir könnten erfolgreich übereinstimmen" - womit alles zusammenpasst, was nicht mit mpeg beginnt und nichts ergibt das tut.
Allerdings wäre ich neugierig auf den Kontext, in dem Sie dies verwenden - neben Regex könnten andere Optionen vorhanden sein, die entweder effizienter oder besser lesbar wären, wie ...
%Vor%Verliere deinen Verstand nicht mit Regex.
%Vor%oder verwenden Sie startswith () mit dem Schlüsselwort "not"
%Vor%Ihre Regexp würde nicht mit "npeg" übereinstimmen, ich denke, Sie müssten sich einfallen lassen %code% , was ziemlich schrecklich ist. Eine andere Alternative wäre %code% Das ist nur ein bisschen besser.
Ich denke also, Sie sollten wirklich eine Vorausschau verwenden, wie von Dav und Gumbo vorgeschlagen: -)
Ich versuche einen regulären Ausdruck zu finden, der mit jeder Zeichenfolge übereinstimmt, die nicht mit mpeg beginnt. Eine Verallgemeinerung von dies entspricht einer beliebigen Zeichenfolge, die nicht mit einem bestimmten regulären Ausdruck beginnt.
Ich habe etwas wie folgt versucht:
%Vor%Das Problem dabei ist, dass mindestens 4 Zeichen in der Zeichenfolge vorhanden sein müssen. Ich war nicht in der Lage, einen guten Weg zu finden, um damit umzugehen, und einen verallgemeinerten Weg, dies auf allgemeine Art und Weise zu handhaben.
Ich werde das in Python verwenden.
Dies verwendet ein negatives Lookahead, um nur einer Zeichenfolge zu entsprechen, bei der der Anfang nicht mit %code% übereinstimmt. Im Wesentlichen erfordert es, dass "die Position am Anfang der Zeichenkette keine Position sein kann, an der wir mit dem Regex %code% übereinstimmen könnten, wir könnten erfolgreich übereinstimmen" - womit alles zusammenpasst, was nicht mit mpeg beginnt und nichts ergibt das tut.
Allerdings wäre ich neugierig auf den Kontext, in dem Sie dies verwenden - neben Regex könnten andere Optionen vorhanden sein, die entweder effizienter oder besser lesbar wären, wie ...
%Vor%Verliere deinen Verstand nicht mit Regex.
%Vor%oder verwenden Sie startswith () mit dem Schlüsselwort "not"
%Vor% Ihre Regexp würde nicht mit "npeg" übereinstimmen, ich denke, Sie müssten sich einfallen lassen
^($|[^m]|m($|[^p]|p($|[^e]|e($|[^g]))))
, was ziemlich schrecklich ist.
Eine andere Alternative wäre ^(.{0,3}$|[^m]|.[^p]|..[^e]|...[^g])
Das ist nur ein bisschen besser.
Ich denke also, Sie sollten wirklich eine Vorausschau verwenden, wie von Dav und Gumbo vorgeschlagen: -)