Регулярные выражения — основы
Регулярные выражения — это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец, состоящая из символов и метасимволов и задающая правило поиска. (из Wikipedia). Использование регулярных выражений происходит регулярно в разнообразных местах (в windows — в поиске вы можете искать документы word по маске *.doc, в linux’е — grep -rn ‘слово или словосочетание которое ищем’ * ). Однако в основном мы используем самые простые регулярные выражения. Например, если Вы составляли список адресов в squid для блокировки адресов или теже правила для adblock plus вы заметили что самые частые шаблоны строятся на * (любое количество повторов символа/набора, в том числе и нулевое;), однако например чтобы сделать парсиг какого нибудь сайта этого будет уже недостаточно и неплохо бы знать основные приемы при работе с регулярными выражениями. Далее идет список основных метасимволов:
^ – якорь, определяющий начало строки (работает только если стоит в самом начале - первым символом в шаблоне);
$ – якорь, определяющий конец строки (работает только если стоит в самом конеце - последним символом в шаблоне);
символ "точка" (.) соответствует любому произвольному символу;
* – любое количество повторов символа/набора, в том числе и нулевое;
? – соответствует нулю или одному экземпляру символа/набора;
+ – соответствует одному или большему количеству экземпляров символа/набора.
Вы также можете задавать диапазоны символов в квадратных скобках
[0123456789] - соответствует любой цифре из данного диапазона;
[абвгдеёжзийклм] - соответствует любой букве из данного диапазона;
[.,;:!?] - соответствует знаку препинания из данного диапазона;
Существует и обратная сторона ^ птичка в диапазоне позволит искать не содержащие данные символы в диапазоне например
[^0123456789] - соответствует любому символу, кроме цифрового;
[^абвгдеёжзийклм] - соответствует любому символу, кроме букв от а до м;
[^.,;:!?] - соответствует любому символу, кроме данных знаков препинаний;
Вы также можете задавать сокращенно непрерывные диапазоны:
[0-9] это сокращенное от [0123456789]
Для уточнения количества повторений наборов символов применяется модификатор \{min,max\}
Чтобы найти 5000 руб 33 коп — [0-9]\{5,\} руб\. [0-9]\{2\} коп\. (отсутствие запятой и максимального значения задаёт точное количество ожидаемых повторов элемента шаблона)
Этой информации достаточно для составления простых регулярных выражений и понимания составленных, однако для более сложного манипулирования шаблонами стоит ознакомиться более детально с регулрными выражениями.