Ik vroeg me af of ik een reguliere expressie zou kunnen krijgen die overeenkomt met een string die alleen alfabetische tekens bevat, en die alleen
U mag een van deze 2 varianten gebruiken:
/^[A-Z]+$/i
/^[A-Za-z]+$/
om een input string van ASCII alfabetten te matchen.
[A-Za-z]
zal met alle alfabetten overeenkomen (zowel kleine letters als hoofdletters).^
en $
zorgen ervoor dat niets anders dan deze alfabetten worden gematched.Code:
preg_match('/^[A-Z]+$/i', "abcAbc^Xyz", $m);
var_dump($m);
Uitvoer:
array(0) {
}
Test case is voor OP's opmerking dat hij wil overeenkomen alleen als er 1 of meer alfabetten aanwezig zijn in input. Zoals je kunt zien in de test case is de match mislukt omdat er ^
in de input string abcAbc^Xyz
zat.
Note: Merk op dat bovenstaand antwoord alleen overeenkomt met ASCII alfabetten en niet met Unicode tekens. Als u unicode letters wilt matchen gebruik dan:
/^\p{L}+$/u