关于Struts2电子邮件验证器

时间:2011-09-13 06:03:14

标签: regex email struts2 pattern-matching validation

Struts2拥有完美的电子邮件验证工具。其单个电子邮件地址的正则表达式如下:

\\b(^[_A-Za-z0-9-](\\.[_A-Za-z0-9-])*@([A-Za-z0-9-])+((\\.com)|(\\.net)|(\\.org)|(\\.info)|(\\.edu)|(\\.mil)|(\\.gov)|(\\.biz)|(\\.ws)|(\\.us)|(\\.tv)|(\\.cc)|(\\.aero)|(\\.arpa)|(\\.coop)|(\\.int)|(\\.jobs)|(\\.museum)|(\\.name)|(\\.pro)|(\\.travel)|(\\.nato)|(\\..{2,3})|(\\..{2,3}\\..{2,3}))$)\\b 

由于验证TLD太长。但只要看看它的开头和结尾。

我的问题是关于包裹\\ b。什么意思是将\\ b放在正则表达式的开头和结尾(甚至在^之后和$之后)?

2 个答案:

答案 0 :(得分:1)

这是关于 Word Boundaries

元字符\ b是一个像插入符和美元符号的锚。它匹配一个称为“单词边界”的位置。这个匹配是零长度。

有三种不同的职位符合词边界:

  • 在字符串中的第一个字符 之前,如果第一个字符是单词字符。
  • 字符串中的最后一个字符 之后,如果最后一个字符是单词字符。
  • 字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符。

简单地说:\ b允许您使用\ bword \ b形式的正则表达式执行“仅限整个单词”搜索。 “单词字符”是可用于形成单词的字符。所有不是“单词字符”的字符都是“非单词字符”。

您可以在此处阅读更多内容:http://www.regular-expressions.info/wordboundaries.html

答案 1 :(得分:0)

它们似乎是多余的,也许是早期版本的正则表达式的残余。