L'appariement n'importe quel caractère sauf un trait de soulignement à l'aide de Regex
Je suis en train d'écrire Regex qui va correspondre à une chaîne de caractères, à l'EXCEPTION des chaînes de caractères avec un caractère de soulignement.
J'ai jusqu'à présent /[A-Za-z0-9]+/
mais je ne sais pas ce qu'il faut inclure pour le rendre nécessitent pas d'underscore.
Mise à JOUR:
Est ont fait cette plus clair au large de la chauve-souris.
Je suis en train de faire correspondre une adresse e-mail, mais pas les adresses e-mail qui ont un caractère de soulignement dans la partie après l' _
C'est ce que j'ai au total jusqu'à présent.
/[A-Za-z_0-9]+@[A-Za-z0-9]+\.(com|ca|org|net)/
Les réponses, pour l'instant, ne fonctionne pas
^[^_]+$
cela signifie que n'importe quelle chaîne sans un trait de soulignement. par exemple, ce commentaire ou votre question. Est-ce que vous voulez?
Vous devez vous connecter pour publier un commentaire.
Si je comprends ce que vous me demandez de correspondance de chaînes de caractères, à l'exception des chaînes de caractères qui contiennent un trait de soulignement, ce qui requiert regex d'anticipation.
La raison en est que les expressions régulières fonctionnent normalement un caractère à la fois. Donc, si je veux savoir si je doit correspondre à un personnage, mais seulement si il n'est pas un trait de soulignement plus tard, j'ai besoin d'utiliser d'anticipation.
^((?!_)[A-Za-z0-9])+$
?!
est le négatif d'anticipation de l'opérateurEDIT:
Si tu veux qu'il y ait au plus un caractère de soulignement dans la partie avant le signe@, et aucun trait de soulignement dans la partie après?
^[A-Za-z0-9]+_?[A-Za-z0-9]+@[A-Za-z0-9]+\.(com|ca|org|net)$
/^[^_]+$/
pourrait correspondre à une chaîne de 1 ou plus de caractères contenant tous les caractères sauf le trait de soulignement.