/ / Comment écrire une expression régulière supplémentaire? - php, regex, preg-match

Comment écrire une expression régulière supplémentaire? - php, regex, preg-match

J'ai besoin d'un peu d'aide pour utiliser l'expression régulière. J'ai besoin de vérifier que le texte consiste uniquement en des symboles, des nombres et des symboles _ - ():,. ? / + * = «»% @ # $

J'essaie:

if(preg_match("/^[А-Яа-яa-zA-Z0-9()-_«»%@#s]+$/", $title) {
//success
} else {
//error
}

Ça ne marche pas.

Réponses:

1 pour la réponse № 1

Vous devez fixer la regex comme

"/^[ёЁА-Яа-яa-zA-Z0-9()_«»%@#s-]+$/"

Vous voudrez peut-être aussi échapper au trait d'union si un autre "développeur" peut ajouter plus de symboles à la regex et la ruiner (comme Lashane mentionne dans le commentaire).

Deux points principaux:

  • ё et Ё étaient absents du а-яА-Я intervalle
  • - entre ) et _ créé une plage permettant toutes les lettres majuscules et certains symboles:

entrer la description de l'image ici

Voir le regex demo.