Основы регулярных выражений
Теги: templating
. - заменяет любой знак
[...] - множество. [1-6] эквивалент [123456]. Может содержать несколько диапазонов, например [A-F1-9]
Есть несколько сокращений:
\dэквивалент[0-9]\wэквивалент[A-Za-z0-9_]
[^...] - НЕ множество. [^x] - все кроме x.
Спец.символы:
\tвкладка\nновая строка\rвозврат каретки\fразрыв страницы\sэквивалент[\t\r\n\f]
Квантификаторы устанавливают кол-во символов:
{n}точно n раз{n,m}не менее n и не более m{n,}не менее n
Пример: \d{3}-\d{0,3}-\d{2}
Символ ? является аналогом квантификатора {0,1} - один или ни одного символ. Например так https?:// ищет https или http
Символ + аналог {1,} и ищет последовательности, встречающиеся не менее 1 раза. Например http?://[a-z0-9-]+\.com найдет все ссылки с доменом .com
Символ * эквивалентен {0,} и ищет последовательность. которая встречается 0 и более раз. .* соответствует чему угодно. К примеру так можно найти любую цитату в кавычках: ".*". Данный поиск жадный (как и все с квантификаторами) - он извлечет все между самой первой кавычкой и самой последней.
Символы привязки:
^(за пределами скобок) - обозначает поиск совпадения в начале строки. Пример^-*найдет разделитель----$привязка к концу строки. Пример^-*$найдет разделитель, который начинается и звершается дефисом.^*$так можно найти пустую строку - по этой причине в ЯП не привествуется завершение строк кода пробелами.\bпривязывает к началу или к концу слова. Пример\ba[a-z]*s\bнайдет все слова начинающиеся с a и завершающиеся s
Группы:
(...)позволет работать с последовательностью символов или целым выражением. Пример\b\d{1,3}(,\d{3})*(\.\d+)?\bнаходит любые числа состоящие из трех цифр в начале слова , запятой или точки за которой могут идти три цифры или точка за которой идет хотя бы одна цифра и на этом словао завершается.
Чередование:
|позволяет найти соответвствие одному из выражений. Пример(123|456)-d{3}
Смотри еще: