RegEx pour inclure deux mots, mais exclut un espace suivi de tout ce qui est pas un espace à la fin de la chaîne

voix
-3

Je traite avec des noms et je suis en train de faire correspondre « First Last », mais pas « First Last Moyen-Orient. » Je pense que la partie la plus délicate est que je ne veux laisser aucun espace à la fin, mais pas blanc suivi de quoi que ce soit d'autre. Voilà ce que j'ai:

^([^\s]+[\s]+)([^\s])$

Ce sera presque travailler, mais il exclut « First Last » avec des espaces à la fin et je veux permettre la saisie des données bâclée comme ça.

Créé 20/10/2018 à 03:33
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

A la fin du motif, préanalyse pour zéro ou plusieurs espaces, suivie de la fin de la chaîne:

^(\S+\s+)(\S+)(?=\s*$)

https://regex101.com/r/PjGPAw/1

Notez également que chaque fois que vous avez un jeu de caractères avec un seul jeton (comme \s), vous pouvez supprimer le jeu de caractères entièrement et il suffit d' utiliser ce jeton. En outre, la négation de \s(qui est, le jeu de caractères [^\s]) est équivalent à \S, ce qui signifie « tout sauf un blanc », et il est probablement préférable [^\s].

Créé 20/10/2018 à 03:36
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more