Próbuję sprawdzić, czy mój ciąg pasuje do wzorca. Oznacza to, że cały ciąg może być zapisany jako ten wzór. Jednak preg_match
zwraca , jeśli dowolny podciąg pasuje do tego wzorca. (Np preg_match("#[a-z]*#, "333k")
zwraca 1
, czego nie chcesz. W tym przykładzie wolałbym zweryfikowania, cały ciąg zawiera tylko małe litery alfabetu łacińskiego.)PHP preg_match pełny ciąg
Odpowiedz
użyć rozpoczęciai koniec markery , ^
i $
, odpowiednio, aby wskazać początek i koniec ciągu w twoim wzorze regularnego wyrażenia. W ten sposób możesz dopasować wyrażenie tylko do całego łańcucha, a nie do dowolnego podciągu. W twoim przypadku to wtedy wyglądać następująco:
preg_match("#^[a-z]*$#", "333k");
Można również, przy czym jeden tych markerów, należy określić, że wzorzec musi odpowiadać tylko początek lub koniec łańcucha.
Uwaga: aby zakotwiczyć dopasowanie ciągów na początku i końcu ciągu, można również rozważyć użycie kotwic \A
i \z
.
preg_match('~\A[a-z]*\z~', "333k");
^^ ^^
\A
i \z
są jednoznaczne początek i koniec kotew strunowych w PHP regex (jak ich zachowanie nie zależy od jakichkolwiek regex modyfikatorów, nawet jeśli podasz modyfikator m
MULTILINE, będą dalej twierdząc, pozycje początkowe/końcowe ciągów). Zobacz więcej na temat kotew regex PHP w PHP documentation.
Strzeż \Z
choć: \Z
będzie dopasować cały ciąg przed ostatnim pojedynczym LINEBREAK, natomiast \z
będzie pasował tylko na samym końcu łańcucha, czyli po wszystkich znaków występują w łańcuchu (patrz Whats the difference between \z and \Z in a regular expression and when and how do I use it?)
- 1. php preg_match non chciwy?
- 2. PHP Regex preg_match extract
- 3. php preg_match pozycję ostatniego meczu
- 4. Powłoki równoważne php preg_match?
- 5. Odpowiednik preg_match PHP w Pythonie
- 6. PHP Format preg_match Biblia Pismo
- 7. PHP preg_match, aby znaleźć wiele wystąpień
- 8. PHP preg_match, aby znaleźć całe wyrazy
- 9. Jak zmienić eregi PHP do preg_match
- 10. PHP: preg_match regex nie znajdując właściwe struny
- 11. preg_match w JavaScript?
- 12. Pobierz pełny stos DOM jako ciąg znaków
- 13. Jak używać preg_match do testowania przestrzeni?
- 14. Jak mogę sprawdzić, czy dany ciąg znaków jest poprawnym wprowadzeniem do preg_match PHP?
- 15. Znajdź ciąg php z regex
- 16. Getting pełny adres URL bieżącej strony (PHP)
- 17. preg_match stanowiąc bardzo dziwne
- 18. PHP/REGEX: Pobierz ciąg w nawiasach.
- 19. Sprawdź, czy ciąg zawiera nic oprócz adresu URL w PHP
- 20. preg_match ze znakami międzynarodowymi i akcentami
- 21. preg_match: print: klasa pasuje kartę charakter
- 22. Czas PHP() na ciąg
- 23. php xml parse ciąg
- 24. Pełny tytuł nagłówka FullCalendar
- 25. preg_match do sprawdzania poprawności adresu URL
- 26. Wyszukaj częściowy ciąg w tablicy PHP? Wyszukiwarka zawiera wartość hashtag
- 27. Znaleźć pozycję pierwszego wystąpienia dowolnej liczby w ciąg (php)
- 28. Cut ciąg przed symbolem PHP
- 29. php numer ciąg konkatenacji pomieszane
- 30. przekonwertować ciąg JSON obiektu php
Ahhh, dzięki za superszybką pomoc, działa teraz. – user2089648