簡體   English   中英

正則表達式匹配電子郵件地址的用戶名

[英]regex to match on username of email address

我正在尋找有關正則表達式的幫助。 我希望電子郵件地址的用戶名(即@符號前的所有內容)包含單詞hello和字母a的匹配項。 因此,例如:

// matches
ahello@outlook.com
helloa@yahoo.com

// does not match
hello@gmail.com

我對regex工藝還很陌生,因此贊賞指針和解釋。

如果您非常確定您的電子郵件地址僅包含可選的ahello使用以下查詢:

^(a(hello)@|(hello)a@)

演示說明

除了語言,你可以用積極的向前看符號(希望)斷言,有你好兩次出現的在用戶名部分:

(?=[^@]*hello)(?=[^@]*a).+

它匹配什么:

ahello@outlook.com
helloa@yahoo.com
myhellonamea@gmail.com
...

對於將來遇到此問題的任何人來說,這只是另一個選擇。 如果您要匹配除a以外a其他字符集,請用所需的字符替換正則表達式中的a

(a.*)@|(.*a.*)@

abchello@gmail.com # matches abchello in group 
helloabc@gmail.com # matches helloabc
hello@gmail.com    # no match
bhello@gmail.com   # no match
hellob@gmail.com   # no match

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM