Probleme de regex symfony

Par Steeve VERDIEU, il y a 9 ans


Bonjour a tous.
J'ai un regex qui valide un champs nom dans mon entité symfony:

/** * * @ORM\Column(name="prenom", type="string", nullable=false) * @Assert\NotBlank() * @Assert\Regex( * pattern="/^[^0-9-<>()\[\]\\.,;:\s@\'"]+[-a-zA-ZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ\s]{2,}$/", * match=false, * message="string.name.mismatch" * ) * */ protected $prenom;

Mais ça me retourne une erreur a cause de:

"

qui se trouve dans la premiere classe du regex:

[^0-9-<>()\[\]\\.,;:\s@\'"]

Quelqu'un peut m'aider a resoudre ce probleme?

6 réponses

Steeve VERDIEU, il y a 9 ans

Je l'ai fait, mais j'obtiens la meme erreur @Jonathan

Jonathan Dewaele, il y a 9 ans

En quoi est utile le \s ?
enlève le \ avant (')

sinon essaye ça :

"/^[^0-9-<>()[]\\.,;:\s@'\"]

Je suis un peu rouiller avec les expression régulière ^^

Steeve VERDIEU, il y a 9 ans

Encore le meme resultat.

le \s est xpour eviter que les noms commencent par un caractere blanc.. espace par exemple

Jonathan Dewaele, il y a 9 ans

Salut Steeve,

il faut fait \" sinon il considère ta guillemet comme la fermeture de "/^[^0-9-<>()[]\.,;:\s@\'" et je ne pense pas que c'est ce que tu veux faire ;)

essaye donc [^0-9-<>()[]\.,;:\s@\'\"]

Jonathan Dewaele, il y a 9 ans

Tu a regardé ce que ça donne si tu enlève la guillemet ?

Steeve VERDIEU, il y a 9 ans

ça marche quand j'enlève les guillemets, je n'ai plus d'erreurs. Mais le problème est que je veux éviter que les noms commencent par des guillemets. Je ne vois pas comment créer le regex qui va permettre de ne pas valider les noms qui commence par des guillemets