Если у вас есть проблема, и вы собираетесь её
решать с помощью регулярных выражений, тогда у вас будет уже две проблемы...
^[-.\w]+@(?:[a-z\d]{2,}\.)+[a-z]{2,6}$ прям так сходу и не скажешь, что проверяет этот шаблон, кому интересно найдут подсказку дальше
Регулярные выражения это способ записи некоего шаблона по которому мы будем проверять есть ли подобная хрень в тексте или нет, с их помощью можно парсить (разбирать) любые html страницы. Полное описание символов можно найти на сайте М
Главное это служебные символы, по ссылке полный список служебных символов Regexp.net , вкратце рассмотрим основные символы и шаблоны поиска
1. [abcd] находит любой элемент из группы : This is a regexp test abc is not bca
2. [0-6] находит любой элемент из диапазона : сколько будет 6 на 8 = 48
3. be|not находит либо одно либо другое, работает как или : to be or not to be
4. n.t , точка заменяет любой одиночный символ : not this is a nut test
5. .*? любой текст между символами например <.*?> : not this is <html tag> a nut test
6. [-#'!""£$%^&*()\\]+? удаляет спец символы Jack is "Supafly" £$% + Mike = : Reverse
6. [-#'!""£$%^&*()\\]+? удаляет спец символы Jack is "Supafly" £$% + Mike = : Reverse
\<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)\> этот шаблон находит комменты = <!-- comment -->
Протестировать шаблон всегда можно по ссылке , для шаблона сверху можно проверить текст wtf@email.com
Вроде ничего сложного, но бывает непросто разобрать кучу этих иероглифов)))
И в качестве бонуса…
На паре по селекции . Студент: -А давайте скрестим лобковую вшу со светличком . Препод : - ЧТО? - Ну вот смотрите... вы легли в постель, вам тоскливо и одиноко...и тут вы заглядываете под одеяло …. - А там…. ЛАСВЕЕЕГАС!