2011-07-19 2 views
1

Comment vérifier une chaîne qui permet que des chiffres et des lettres des personnages comme, «/», « _ », « » « - » et seulement 40 caractères permettent.pl/sql vérification regex

je faisais quelque chose comme ça REGEXP_LIKE(path, '[a-zA-Z0-9_./-]{2,40}$') mais ne fonctionne pas bien.

Quelqu'un peut-il me aider regex?

Répondre

3

Eh bien, il ne limite pas à 40 caractères, car il est pas ancré au début de la chaîne. Essayez:

REGEXP_LIKE(path, '^[a-zA-Z0-9_./-]{2,40}$') 

Autre que je ne vois rien de mal avec elle saute, en supposant bien sûr que vous ne voulez pour la durée minimale est de 2 caractères.

+0

pourquoi vous ne serez limite à 40? – macwadu

+2

Il ne limitera pas à 40 sans l'ancre ''^car alors il correspondra à tout moment les 40 caractères à la fin du match de chaîne; il pourrait y avoir 5K de charabia avant cela et la regex trouverait toujours un match. – chaos

+1

Merci de m'avoir aidé :) – macwadu

2

Peut être que vous devez ajouter début de la ligne caractère spécial ^, i.e. .: ^[a-zA-Z0-9_./-]{2,40}$