2016-07-04 30 views

Antwort

3

Der Grund, warum /abc$/ Matches sowohl "abc\n" und "abc" ist, dass $ die Lage am Ende der Zeichenfolge übereinstimmt, oder (auch ohne /m Modifier) ​​die Position vor dem Newline, die am Ende der Kette ist.

Sie benötigen die folgende regex:

/abc\z/ 

wo \z ist die eindeutige sehr Ende der Schnur oder

/abc$/D 

wo der /D Modifikator wird $ die gleiche Art und Weise machen verhalten, wie \z. Siehe PHP.NET:

Die Bedeutung des Dollars geändert werden kann, so dass es nur ganz am Ende der Zeichenfolge übereinstimmt, indem die PCRE_DOLLAR_ENDONLY Option bei der Kompilierung Einstellung oder Zeit entspricht.

anzeigen regex demo

+1

Arbeiten wie ein Charme. Vielen Dank. – trzczy