2009-09-09 7 views
1

J'ai ce regex: ^[\p{L}\p{N}]{1,50}$

  • Accepter tous les chiffres et toutes les lettres
  • min longueur: 1
  • longueur max: 50

J'essaie d'ajouter cette règle sans succès:

  • peut ajouter \ de (les espaces), mais le texte ne peut avoir que des espaces vides
+0

l'espace supposé être au milieu de la chaîne ou pourrait-il être au début/à la fin? – SilentGhost

+0

Quelle implémentation de regex utilisez-vous? Perl, Python, schéma XML? –

+0

ce n'est pas python. – SilentGhost

Répondre

4

Si votre implémentation d'expression régulière prend en charge look-ahead assertions:

^(?!\s+$)[\p{L}\p{N}\s]{1,50}$ 
+0

Peut-être pas, cependant. Besoin de l'OP pour clarifier. –

+1

@Adam Bellaire: Il existe de nombreuses implémentations d'expressions régulières qui prennent en charge les propriétés de caractères Unicode. Mais pour autant que je sache, dans vous ne spécifiez pas le début et la fin en XML car il correspond toujours à la chaîne entière. – Gumbo

+0

Cette regex fonctionne :) thks – Dryadwoods

0

permettent et puis couper les espaces de double +

1

En supposant qu'il ne peut pas commencer avec un espace:

^[\p{L}\p{N}]{1}[\s\p{L}\p{N}]{0,49}$ 
Questions connexes