Регулярные выражения

Регулярные выражения это текстовые шаблоны, которые часто применяются в программировании и системном администрировании.

В программировании все популярные языки поддерживают регулярные выражения для работы со строками: php, javascript, perl, python, и так далее. А также текстовые редакторы для программистов поддерживают их для поиска и замены текста.

В администрировании их поддерживают команды grep, sed, less и диугие. s/диугие/другие/

Границами регулярного выражениями являются символы косой черты. Выглядит это так:

/выражение/

Все буквы и цифры ищутся как есть. Например, /буквы и цифры/ будет найдено в первом предложении этого абзаца.

Точка соответствует одному любому символу. Так, словам точка и тучка (а также тжчка, т1чка и т_чка) соответствует выражение /т.чка/

Символ ? означает что предыдущий символ встречается один раз или не встречается ни разу. Например /замоче?ка?/ соответствует словам замочек и замочка (замочк и замочека тоже). После точки тоже можно использовать, тогда это будет означать «любой символ или его отсутствие».

Звездочка — любое число повторений символа, в том числе ноль. Например /ура*/ соответствует как ура, ураа, урааааа, так и ур.

Плюс — одно или больше повторений. /морожен+ое/ это мороженое или мороженное, но не морожеое.

В квадратных скобках можно перечислить символы, которые могут быть на одном месте. /д[оыа]ма?/ — дом, дым, дам, дама, и так далее. Можно комбинировать с остальными символами, например в тексте с ошибками можно искать слово в любом склонении: /м[ао]л[ао]к[оеу]?м?/

Удобно искать слова для кроссворда: /к…фе.а/ для конфеты. А как искать слово, начинающееся на ж… и заканчивается на лёр? /ж.+лёр/

Начало строки обозначается ^, конец — $. Чтобы показать что слово — единственное что есть в строке надо писать /^слово$/

В квадратных скобках можно использовать минус чтобы указывать диапазон символов. /[0-9]/ — цифра, /[А-П]/ буквы от А до П.

Чтобы искать один из служебных символов используется обратная косая черта. Ставится перед служебным символом — /\/\[А-П\]\// найдёт регулярное выражение в прошлом абзаце.

Фигурные скобки позволяют указать точное количество повторений символа — /^2{15}$/ это пятнадцать двоек. А если указать два числа через запятую, то это любое количество из интервала включительно. /^Ы{3,8}$/ от 3 до 8 букв Ы.

Добавить комментарий