Наибольшее число отзывов, не говоря уже об «ошибках», мне приходит на регулярное выражение e-mail адреса:
b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b
Я утверждаю, что это регулярное выражение определяет любой e-mail адрес. В обратной связи обычно показывается один e-mail адрес, который не подпадает под это выражение; также, в отчетах об «ошибках» содержится предложение создать идеальный regexp.
Как я объясню ниже, мое утверждение справедливо тогда, когда вы принимаете мое определение того, что есть действительный адрес электронной почты, а что — нет. Если вы используете другое определение, то вам придется подкорректировать выражение. Определение действительного e-mail адреса — это отличный пример, показывающий, что
- перед написание выражения вы должны точно знать, что должно совпасть, а что нет;
- следует разрешить компромисс между точностью и практичностью.