Ich versuche zu überprüfen, dass meine Zeichenfolge ein Muster entspricht. Das heißt, die vollständige Zeichenfolge kann als dieses Muster geschrieben werden. preg_match
gibt jedoch true
zurück, wenn eine Teilzeichenfolge mit diesem Muster übereinstimmt. (zB preg_match("#[a-z]*#, "333k")
kehrt 1
, die ich will nicht. In diesem Beispiel würde ich eher überprüfen, die gesamte Zeichenfolge enthält nur kleine lateinische Buchstaben.)PHP preg_match vollständige Zeichenfolge
Antwort
Sie verwenden den Start und Ende Marker , ^
und $
, um den Anfang und das Ende der Zeichenfolge in Ihrem regulären Ausdrucksmuster anzugeben. Auf diese Weise können Sie sicherstellen, dass der Ausdruck nur mit der gesamten Zeichenfolge und nicht mit einer Teilzeichenfolge übereinstimmt. In Ihrem Fall wäre es dann wie folgt aussehen:
preg_match("#^[a-z]*$#", "333k");
Sie können auch mit einem dieser Marker an, dass das Muster nur den Anfang oder das Ende der Zeichenfolge übereinstimmen muss.
Beachten Sie, dass zur Verankerung der Zeichenfolgenübereinstimmung am Anfang und Ende der Zeichenfolge auch die Verwendung der Anker \A
und \z
in Betracht gezogen werden kann.
preg_match('~\A[a-z]*\z~', "333k");
^^ ^^
Die \A
und \z
sind eindeutig Anfang und Ende der Zeichenfolge Anker in PHP Regex (wie ihr Verhalten nicht auf irgendwelchen regex Modifikatoren abhängt, auch wenn Sie den m
MULTI Schlüssel angeben, werden sie behalten behaupten Anfangs-/Endpositionen des Strings). Weitere Informationen zu PHP-Regex-Ankern finden Sie unter PHP documentation.
Vorsicht vor \Z
aber: \Z
wird die gesamte Zeichenfolge vor dem letzten Einzelzeilenumbrüche übereinstimmen, während \z
nur am Ende der Schnur übereinstimmen, das heißt, nachdem alle Zeichen dort in der Zeichenfolge (siehe Whats the difference between \z and \Z in a regular expression and when and how do I use it?)
- 1. PHP - preg_match()
- 2. php preg_match nicht gierig?
- 3. PHP Regex preg_match Extraktion
- 4. PHP preg_match: Wie funktioniert die Übergabe einer Variablen an preg_match?
- 5. regex Frage PHP preg_match
- 6. PHP preg_match Bereich
- 7. php preg_match Zeichen
- 8. PHP - preg_match regex
- 9. PHP preg_match - unerwarteter Ausgang
- 10. PHP Pfad mit preg_match?
- 11. PHP preg_match regulärer Ausdruck für Funddatum in Zeichenfolge
- 12. Wie erhalten Sie Wert von Zeichenfolge mit Preg_match PHP?
- 13. PHP preg_match Länge 3276 Grenze
- 14. PHP preg_match Teil der URL
- 15. PHP preg_match gibt immer falsch
- 16. php preg_match. Zum Array hinzufügen
- 17. PHP preg_match für leere Zeilen
- 18. PHP Preg_match genau passendes Wort
- 19. So verwenden preg_match richtig PHP
- 20. limit string in preg_match auf php
- 21. Willst du preg_match Zahlen und Zeitraum php
- 22. PHP preg_match, um mehrere Vorkommen zu finden
- 23. PHP preg_match nicht vorbei Linie passend bricht
- 24. Get SolrQuery vollständige Abfrage Zeichenfolge
- 25. Vollständige Zeichenfolge mit awk abrufen
- 26. Wie preg_match erste Auftreten in einer Zeichenfolge
- 27. Preg_Match eine Zeichenfolge in Form einer URL
- 28. Mit preg_match eine Zeichenfolge in einer Zeichenfolge extrahieren?
- 29. PHP Login-Seite mit Preg_Match Validierung
- 30. PHP preg_match nicht Liste mit Komma
Ahhh, danke für die super schnelle Hilfe, funktioniert jetzt. – user2089648