Mam problemy z wyrażeniami regularnymi.
To jest mój kod
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
Uruchamiam go i otrzymuję:
Ostrzeżenie: preg_match () [function.preg-match]: nie znaleziono separatora końcowego „^” w
php
regex
preg-match
pcre
Fingerman
źródło
źródło
Odpowiedzi:
Łańcuchy wyrażeń regularnych PHP wymagają separatorów. Próbować:
Zauważ też, że masz małą literę o, a nie zero. Ponadto, jeśli tylko weryfikujesz, nie potrzebujesz grupy przechwytywania i możesz uprościć wyrażenie regularne do
/^\d+$/
.Przykład: http://ideone.com/Ec3zh
Zobacz też: PHP - ograniczniki
źródło
[
i]
ograniczników, w przeciwnym razie napotkasz konflikty z samym wzorem.Twój wzorzec wyrażenia regularnego musi zawierać separatory:
źródło
Możesz użyć biblioteki T-Regx , która nie potrzebuje ograniczników
źródło