正则表达式匹配电子邮件地址的用户名

时间:2016-08-16 20:26:50

标签: regex

我正在寻找正则表达式的帮助。我希望匹配电子邮件地址的用户名(即@符号前的所有内容)包含 hello 一词以及字母 a 。所以,例如:

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

// does not match
hello@gmail.com

我对正则表达式工艺还很陌生,所以指针和解释都很受欢迎。

3 个答案:

答案 0 :(得分:0)

如果您确定自己的电子邮件地址仅由可选ahello组成,请使用此查询:

^(a(hello)@|(hello)a@)
带有解释的

Demo

答案 1 :(得分:0)

除了语言之外,你可以使用正向前瞻(希望如此)断言在用户名部分中出现 hello a

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

匹配的内容:

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

答案 2 :(得分:0)

对于将来遇到此问题的任何人来说,这只是另一种选择。如果您想匹配 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Form4.DbTableDataGridView.Rows.Add(Me.DbTableTableAdapter) End Sub 以外的其他字符集,请将正则表达式中的a替换为所需的字符。

a

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