Основы регулярных выражений
Теги: 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}
Смотри еще: