О Struts2 Email Validator - PullRequest
       20

О Struts2 Email Validator

2 голосов
/ 13 сентября 2011

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 ]

1 голос
/ 15 сентября 2011

Это примерно Границы слова :

Метасимвол \ b является якорем, подобным каретке и знаку доллара.Он совпадает в позиции, которая называется «граница слова».Это совпадение нулевой длины.

Существуют три разные позиции, которые квалифицируются как границы слов:

  • перед первым символом встрока, если первый символ является символом слова.
  • После последнего символа в строке, если последний символ является символом слова.
  • Между двумя символами в строке, где один является символом слова, а другой не является символом слова.

Проще говоря: \ b позволяет выполнять поиск «только целых слов» с использованием регулярного выражения в форме \ bword \ b. «Символ слова» - это символ, который можно использовать для формирования слов. Все символы, которые не являются «символами слова», являются «несловными символами».

Подробнее можно прочитать здесь: http://www.regular -expressions.info / wordboundaries.html

0 голосов
/ 13 сентября 2011

Они кажутся излишними, возможно, остатками более ранней версии регулярного выражения.

...