2017-05-08 4 views
1

ich den folgenden regulären Ausdruck haben eine E-Mail-Adresse übereinstimmen:regulären Ausdruck - NICHT mit einem Muster übereinstimmen

^([a-zA-Z0-9])+([a-zA-Z0-9._%+-])[email protected]([a-zA-Z0-9_.-])+\.(([a-zA-Z]){2,6})$ 

Wie kann ich das ändern, wenn ich alles passen Adresse, aber eine E-Mail wollen? Instinktiv , denke ich an so etwas wie

!(^([a-zA-Z0-9])+([a-zA-Z0-9._%+-])[email protected]([a-zA-Z0-9_.-])+\.(([a-zA-Z]){2,6})$) 

aber ich weiß, das ist nicht wie reguläre Ausdrücke funktionieren.

+1

Gleiche wie das, was hast du '^ (?! [A-zA-Z0-9]) + ([a-zA -Z0-9 ._% + -]) + @ ([a-zA-Z0-9 _.-]) + \. (([A-zA-Z]) {2,6} $). + $ ' – sln

+0

Welches Werkzeug Sie auch verwenden, kann eine Option haben, die Übereinstimmung zu negieren. Zum Beispiel, grep hat "-v" -Option –

+1

@sln tat den Trick, danke – noclist

Antwort

0

Spiel etwas andere als eine E-Mail-Adresse

^(?![a-zA-Z0-9])+([a-zA-Z0-9._%+-])[email protected]([a-zA-Z0-9_.-])+\.(([a‌​-zA-Z]){2,6}$).+$

^  # BOS 
     # Not an email address 
(?![a-zA-Z0-9])+([a-zA-Z0-9._%+-])[email protected]([a-zA-Z0-9_.-])+\.(([a‌​-zA-Z]){2,6}$) 
.+  # Ok, match whatever this string contains 
$  # EOS 
Verwandte Themen