正则表达式匹配电子邮件中两个字符之间的字符串

时间:2013-09-10 20:23:52

标签: regex

我正在尝试使用正则表达式匹配电子邮件中的单个字符串。电子邮件模式如下:

name.name.someid@mail.domain.com

我想抓住'someid'部分。意思是我需要匹配“@”之前和最后一个时期之后的所有内容。

我可以使用(^[^@]+)匹配'@'之前的所有内容但是我无法在正则表达式语句中有效地将它组合起来仅在最后一个句点之后进行评估(我只能在第一个句点之后将其匹配)

任何指针都会很棒,谢谢!

2 个答案:

答案 0 :(得分:2)

使用积极的前瞻:

/[^.]+(?=@)/

以下是演示:http://regex101.com/r/sW7sR3

答案 1 :(得分:1)

/\.([^.@]+)@/

不使用 lookarounds ,这会匹配@之后和.之前的.@