Hé les gars, pouvez-vous m'aider avec ça. J'ai ceci '/ [^ A-Za-z] /' mais je n'arrive pas à comprendre la partie de ponctuation.Autoriser uniquement les lettres; pas de ponctuation pas de chiffres
Gracieux!
Hé les gars, pouvez-vous m'aider avec ça. J'ai ceci '/ [^ A-Za-z] /' mais je n'arrive pas à comprendre la partie de ponctuation.Autoriser uniquement les lettres; pas de ponctuation pas de chiffres
Gracieux!
L'expression régulière que vous utilisez ne permet pas les lettres; c'est le contraire de ce que vous êtes rapporté dans le titre.
/[a-z]/i
suffit, si vous voulez n'accepter que des lettres. Si vous voulez autoriser des lettres comme à, è ou ç, alors vous devriez développer l'expression régulière; /[\p{L}]/ui
devrait fonctionner avec toutes les lettres Unicode.
/[^ A-Za-z] */correspond à tout sauf aux lettres. Vous ne devriez pas avoir besoin de spécifier de chiffres ou de ponctuation.
À l'intérieur d'une classe de caractères, le signe^ne signifie pas. Donc, vous cherchez pas une lettre. Vous voulez quelque chose comme
[A-Za-z]+
vous pouvez également utiliser le raccourci \w
pour un « caractère de mot » (alphanumérique, plus _). Bien sûr, certains moteurs de regex peuvent différer sur le support pour cela, mais si c'est PCRE cela devrait fonctionner. See here (sous la rubrique "séquences d'échappement").
#^[^a-z]+$#i
Votre code était correct, vous avez juste besoin de^et $. Donc, cela signifie tous les caractères du début à la fin ne permet pas l'alphabet extérieur. La correspondance négative est préférée à la correspondance positive ici.
cela signifie comme ceci: if (preg_match('#^[^a-z]+$#i', $string) echo 'outside alphabet found';
–
iroel
Bien que ce que vous avez dit soit vrai, il ne répond pas à la question. Voir la réponse de Kiamlaluno. –
En fait, pour ce que je fais kurrel est juste. mais c'est une erreur dans la façon dont j'ai posé la question et dans l'exécution de mon propre code. - 2 pour moi, mes excuses. Mon regex original fonctionne réellement au besoin. – atwellpub
La seconde version de kiamlaluno est plus flexible en ce qui concerne les caractères supplémentaires, mais si vous utilisez la regex dans une instruction if pour correspondre à ce que vous ne voulez pas, vous allez chercher des négatifs au lieu de positifs . – kurreltheraven