Regex, obtenir de la chaîne de valeur entre les deux personnages
J'aimerais chaîne de retour entre les deux personnages, @ et le point (.).
J'ai essayé d'utiliser les regex, mais ne peut pas trouver de travail.
(@(.*?).)
Quelqu'un?
Ce sont celles extérieur des parenthèses? Sont-ils vos séparateurs? Cela pourrait être un problème.
Qu'arriverait-il si il y a de multiples @ caractères ou plusieurs points?
[indépendantes] sur le sujet de la regexes, je tiens à rappeler aux gens de cette hilarante réponse: stackoverflow.com/questions/1732348/#1732454
Qu'arriverait-il si il y a de multiples @ caractères ou plusieurs points?
[indépendantes] sur le sujet de la regexes, je tiens à rappeler aux gens de cette hilarante réponse: stackoverflow.com/questions/1732348/#1732454
OriginalL'auteur Johannes | 2010-01-09
Vous devez vous connecter pour publier un commentaire.
Votre expression régulière fonctionne presque, vous avez juste oublié de s'échapper de la période. Aussi, en PHP, vous devez délimiteurs:
Le s est la DOTALL modificateur.
Voici un exemple complet de la façon dont vous pouvez l'utiliser en PHP:
De sortie:
andreas n'a pas dit qu'il travaillait avec des cordes avec des sauts de ligne, j'ai juste dit que si il l'était, la solution proposée ne fonctionne pas. Et maintenant, bien sûr.
Ah, oui, je la vois maintenant. Je me demande s'il est d'essayer d'analyser les e-mails... juste une supposition bien.
J'essaie de récupérer les e-mails de l'adresse de domaine. @Mark Byers, votre exemple tire-moi avec des "Inconnus modificateur @". Lors de l'ajout d' \ avant de @ got page blanche. Merde, la haine de la regex 🙂
Aussi @ est un caractère valide dans la première partie de l'adresse, tant qu'elle est échappé ou entre guillemets, par exemple "prénom@lastname"@example.com - voir apps.ietf.org/rfc/rfc3696.html, page 6. Vous devriez envisager d'utiliser une norme email parser plutôt que d'essayer de rouler votre propre.
OriginalL'auteur Mark Byers
Essayer cette expression régulière:
L'expression
[^.]*
va correspondre à n'importe quel nombre de n'importe quel caractère autre que la dot. Et la plaine de la dot doit être échappé que c'est un caractère spécial.OriginalL'auteur Gumbo
Si vous êtes en train d'apprendre regex, vous pouvez analyser ces trop:
Ces deux expressions régulières possessif quantificateurs (
++
). Les utiliser chaque fois que vous pouvez, afin de prévenir inutile de retours en arrière. Aussi, en utilisant lookaround constructions (ou\K
), on peut faire correspondre la partie entre le@
et la.
dans$matches[0]
.OriginalL'auteur Geert
c'est la meilleure et rapide à utiliser
OriginalL'auteur Dièse