用于电子邮件地址的正则表达式以提取名字

时间:2017-03-22 08:55:16

标签: regex

我的电子邮件地址格式如下:

hello.world@foo.com
hello_world@bar.com

我想在#34; hello"这个词上返回一个匹配。在这两种情况下。

我试过这样的事情:

.+?(?=\.|\_)

但这似乎没有返回正确的结果。任何指针都赞赏。

3 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式

^[a-zA-Z]+

这将在输入开头匹配1个或多个字母。因此,在两种情况下都会匹配hello

答案 1 :(得分:0)

您可以使用正则表达式匹配字符串start中的._以外的1个或多个字符:

^[^_.]+

请参阅regex demo

<强>详情:

  • ^ - 字符串锚的开始
  • [^_.]+ - 一个或多个(由于+量词)字符以外的字符(因为[^...]是一个否定的字符类)_.字符(在字符类中,.匹配文字.)。

答案 2 :(得分:0)

如果您尝试[^ ._] *,它应该可以让您到达目的地。

编辑 - 在我打字时没有看到之前的回复。很高兴你找到了答案。