Давно хотел разобраться с регулярными выражениями. Хотя «разобраться» — громко сказано. Чтобы постичь великое искусство и стать повелителем регулярных выражений, нужно постоянно с ними иметь дело. Мало изучить синтаксис, спецсимволы и модификаторы, — нужно уметь ими пользоваться. А умение пользоваться приходит с опытом.
В данном посте буду выкладывать примеры использования регулярных выражений, в работе которых разобрался сам.
Таблица спецсимволов
| Спецсимвол | Описание |
|---|---|
| \ | Символ экранирования. Пример: ‘/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