0

我被困在验证正则表达式

http://regexone.com/example/2

我面临的问题是我必须在提供的电子邮件地址中捕获特定的用户名。下面是电子邮件列表,以及要使用正则表达式捕获的文本:

电子邮件

  1. tom@hogwarts.com

  2. tom.riddle@hogwarts.com

  3. tom.riddle+regexone@hogwarts.com

  4. tom@hogwarts.eu.com

  5. potter@hogwarts.com

  6. harry@hogwarts.com

  7. 赫敏+regexone@hogwarts.com

在每个电子邮件地址中捕获的文本:

  1. 汤姆

  2. 汤姆谜语

  3. 汤姆谜语

  4. 汤姆

  5. 波特

  6. 哈利

  7. 赫敏

4

3 回答 3

1

这个简单的正则表达式捕获了“单词字符或点”的第一个完整序列:

^[\w.]+

这个正则表达式的细分是:

  • ^输入开始
  • [开一个人物班
  • \w“字字符”与[a-zA-Z0-9_]
  • .文字点(在字符类中时)
  • ]关闭字符类
  • +一个或多个前面的表达式

请注意,(大多数)字符在字符类中失去了它们的特殊含义,因此无需转义点。

我在链接的站点上对其进行了测试,并且有效:)

于 2013-03-05T07:15:42.340 回答
0

您可以使用此正则表达式:

([a-z\.]+)

这意味着捕获所有小写字母和一个点字符。

注意:对于正确的电子邮件验证,它需要更多的东西,但这将通过您链接的测试。

于 2013-03-05T07:09:06.430 回答
0

请试试这个

([0-9a-zA-Z._]+)+?\S*@

如果我们有它,它将捕获 + 之前的所有符号,如果我们这里没有任何加号,它将捕获 @ 符号之前的所有符号。

于 2013-03-05T07:24:13.673 回答