2 Stimmen

Regex für Zeichenfolgen, die auf .cs, aber nicht auf .g.cs enden

Ich brauche einen regulären Ausdruck, der auf alle Zeichenfolgen passt, die auf .cs enden, aber wenn sie auf .g.cs enden, sollten sie nicht passen. Ich verwende .NET reguläre Ausdrücke.

7voto

thr Punkte 18660

Dies entspricht dem Ende, wenn es .cs ist, aber nicht .g.cs

(?<!\.g)\.cs$

Für die gesamte Kette von Anfang bis Ende, etwa so:

^.*(?<!\.g)\.cs$

2voto

ephemient Punkte 189038

In einer Regex-Engine ohne negatives Lookbehind:

^(.*[^g]|.*[^.]g|)\.cs$

Linguistisch gesehen ist der allgemeine Lookahead/Lookbehind nicht regulär, also kein "regulärer Ausdruck", auch wenn er sehr praktisch ist...

Irrelevant, weil Sie angeben, dass Sie die .NET-Engine für reguläre Ausdrücke verwenden, die nicht-reguläre Erweiterungen wie diese unterstützt, aber ich mache diesen Punkt gerne, wann immer ich kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X