Давно хотел разобраться с регулярными выражениями. Хотя «разобраться» — громко сказано. Чтобы постичь великое искусство и стать повелителем регулярных выражений, нужно постоянно с ними иметь дело. Мало изучить синтаксис, спецсимволы и модификаторы, — нужно уметь ими пользоваться. А умение пользоваться приходит с опытом.
В данном посте буду выкладывать примеры использования регулярных выражений, в работе которых разобрался сам.
Таблица спецсимволов
Спецсимвол | Описание |
---|---|
\ | Символ экранирования. Пример: ‘/seo\/smo/’ — соответствует строке, в которой есть seo/smo. |
^ | Символ начала данных. Пример: ‘/^seo/’ — соответствует строке, которая начинается словом seo. |
$ | Символ конца данных. Пример: ‘/блог$/’ — соответствует строке, которая заканчивается словом блог. |
. | Любой символ, кроме перевода строки. Пример: ‘/seo.ult/’ — соответствует строке seopult, seo9ult, seo@ult и т.д. |
[] | Внутри этих скобок перечисляются символы, любой из которых может стоять на данном месте, но только один. Пример: ‘/seo[pkm]ult/’ — под соответствие попадут только строки, содержащие seopult, seokult или seomult. |
| | Или. Пример ниже. |
() | Подмаска. |
? | Одно или ноль вхождений предшествующего символа или подмаски. |
* | Любое количество вхождений предшествующего символа или подмаски. В том числе и ноль. |
+ | Одно или более вхождений. |
Пример: ‘/se+(op|om)?.*t/’ — буква s, затем одна или несколько букв e, после этого сочетание op или om может встречаться один раз, а может и ни разу, потом любое количество любых символов и буква t. | |
{a,b} | Количество вхождений предшествующего символа или подмаски от a до b. Пример: {0,} — то же самое, что *, {0,1} — то же, что ?, {3,5} — 3, 4 или 5 повторений. |
комментариев: 0