Voici ce que j'ai actuellement, cela correspondra à des caractères alphanumériques et de l'espace:
^[a-z0-9\s]+$
5 Réponses :
Essayez:
^[a-z0-9]+(?: [a-z0-9]+)?$
Je ne sais pas si une assertion positive sur la lunette placée devant le jeton recherché fonctionnera comme prévu. Afaik Lookahead Assertion est placé derrière le jeton cible. foo (? = bar) code> trouvera tous les foo code> S suivi de bar code>. D'autre part, (?! bar) FOO CODE> correspondra à tous les FOO code> de manière inconditionnelle. Même ceux précédés de bar code>
C'est assez facile, il suffit de le construire dans des morceaux. Un ou plusieurs alphanumériques, puis un groupe optionnel constitué d'un seul espace suivi d'une ou plusieurs alphanumériques. (BTW, \ s code> correspond à un caractère d'espacement, pas d'espace. C'est-à-dire qu'il correspond à [\ t \ n] code>. Lequel voulez-vous réellement?) p> p>
Cela semble ignorer le premier caractère même si le premier caractère n'est pas un espace.
@Reality Extractor: Pas sûr de cela spécifiquement, mais j'ai réussi à laisser tomber un $ code> sur le sol et sans que le regex est susceptible de ne rien faire du tout utile. (Je ne peux pas vraiment obtenir ce que vous dites du résultat, cependant.) Le test printf 'AAA BBB \ na bab \ naba \ nabab \ n BA B \ NAV D \ N AC \ NDE \ N' | Perl -lne 'Imprimer Si / ^ [A-Z0-9] + (?: [A-Z0-9] +)? $ /' Code> est la bonne chose pour moi.
devrait être aussi simple que cela. Correspond à 0 ou 1 caractère d'espacement au milieu du texte. Bien qu'il correspond aussi aux onglets.
[a-z0-9]+\s{0,1}[a-z0-9]+
Cette regex ne va pas correspondre à des chaînes de caractères unique.
permettra au plus d'espace entre les deux. p>
permettra exactement un espace entre p>
ci-dessus Solutions n'accepte pas les chaînes de caractères unique. P>
Les solutions ci-dessous correspond également aux chaînes de caractères simples p>
^ [A-ZA-Z0-9] + \ S? [A-ZA-Z0-9] + $ code> p>
^ [A-ZA-Z0-9] + \ S [A-ZA-Z0-9] + $ code> p>
^ [A-ZA-Z0-9] + ([] [A-ZA-Z0-9] +)? $ code> p>
Correspond aux espaces de début et de fin. * devrait être +.
Cette regex ne va pas correspondre à des chaînes de caractères unique.
Je pense que correspondant à un seul caractère n'était pas requis par l'asker, car cela signifierait également «i> edit« i> edit i>: il est requis par l'asker dans sa version verso
Nettoyez d'abord le nom d'utilisateur en coupant des espaces de pointe et de suivi.
^[a-z0-9]+(?: [a-z0-9]+)?$
Les quantificateurs possessifs sont absolument inutiles ici. Supprimé.
par "pas plus d'un espace" tu veux dire 0 ou 1? , c'est-à-dire que vous voulez aussi faire correspondre "gisisatest"?
Ouais, comme dans mon premier édition, le nom d'utilisateur pourrait être "Thisisaest", il ne doit pas nécessairement avoir un espace de l'espace, mais s'il ne devrait pas y avoir plus qu'un seul espace. C'est donc vraiment au moins 0 et pas plus de 1.