2016-08-02 13 views
0

Ich möchte ein Wort aus einer Zeichenfolge im vorderen Teil einer E-Mail-Adresse aus einer bestimmten Domänen übereinstimmen.Regex - passen Sie ein bestimmtes Wort aus bestimmten E-Mail-Domänen

Das Wort wird "main" und die Domains sind "gmail.com" und "hotmail.com"

Beispiel:

[email protected] = Spiel

123main @ hotmail .com = Spiel

[email protected] = keine Übereinstimmung

das beste, was ich kann kommen mit, wie unten ist, aber es die Validierung nicht passiert ...

(\W|^)[((?i)naim(?-i))]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$) 

Vielen Dank.

+0

Dies scheint für mich zu arbeiten: '^. * Main. * @ (Gmail | hotmail) .com ' –

Antwort

0

Angenommen, Sie wollen nur das Wort main übereinstimmen. Ich habe ein Lookahead verwendet, bei dem ich das Wort innerhalb von Klammern erfasst habe, nur wenn es zu einer Domäne gmail oder gehört.

Regex: (?=(main).*@(?:gmail|hotmail).com)

DEMO

Wenn Sie eine ohne Look-Ahead;

Regex: (main).*@(?:gmail|hotmail).com

DEMO

In beiden Fällen main wird in den Klammern festgehalten.

Verwandte Themen