Регулярное выражение поиска интернетадресов
Таблица 2.1. Регулярное выражение поиска интернет-адресов
Символы |
Описание |
||
"http:// |
Первая кавычка и начало интернет-адреса |
||
. |
Точка обозначает любой символ |
||
+ |
Плюс обозначает, что предыдущий символ должен повториться минимум один раз |
||
\. |
Обычная точка. Ее предваряет обратная косая черта, т. к. точка — служебный символ |
||
. |
Опять любой символ |
||
{2,3} |
Предыдущий символ должен повторяться от двух до трех раз |
||
" |
Закрывающая кавычка |
||
Вы можете попробовать это регулярное выражение в действии. Только не забудьте выбрать в раскрывающемся списке Search For пункт Source Code.
Как видите, в регулярных выражениях используются специальные символы — литералы. С их-то помощью и задаются условия поиска тех или иных символов. Если вы хотите найти какой-либо символ, совпадающий с литералом, вы должны будете предварить его обратной косой чертой. Например, чтобы найти точку, вы должны использовать такую последовательность символов: "\."
С помощью регулярных выражений вы можете выполнять поиск самых разных слов и словосочетаний. Например, регулярное выражение совпадает со словами "multimedia" и "hypermedia", но не совпадает со словом "media". Литерал | задает поиск либо первой, либо второй подстроки (в нашем случае либо "multi", либо "hyper"), а скобки здесь использованы для того, чтобы отделить друг от друга две части выражения. Если бы мы их не поставили, получилось бы выражение
"(multi | hyper) media" "multi | hypermedia"
совпадающее со словами "multi" и "hypermedia". А регулярное выражение
"/b.+@.+\.com"
ищет адреса электронной почты на серверах, чей интернет-адрес оканчивается на "com". Здесь вам все знакомо, за исключением литерала /b, обозначающего границу слова. То есть точка задает поиск любого символа, а /b. — только символа, с которого начинается слово (пробел или возврат каретки). А как насчет вот такого выражения:
Оно ищет любой знак препинания, находящийся в конце текстового абзаца. В этом выражении используется много новых символов, так что мы рассмотрим его подробно. По аналогии с предыдущим регулярным выражением, расшифруем его с помощью табл. 2.2.