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



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

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

我想在这两种情况下都返回"hello"一词的匹配项。

我尝试了这样的事情:

.+?(?=.|_)

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

您可以使用

此正则表达式

^[a-zA-Z]+

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

您可以使用

正则表达式匹配 1 个或多个字符,而不是 . 和字符串开头的_

^[^_.]+

查看正则表达式演示

详情

  • ^ - 字符串锚点的开头
  • [^_.]+ - 一个或多个(由于+量词(字符,而不是(因为[^...]是一个否定的字符类(_.字符(在字符类内,.匹配文字.(。

如果你尝试[^._]*,它应该会带你去你想去的地方。

编辑 - 当我输入我的时没有看到以前的响应。很高兴你找到了答案。

最新更新