Литмир - Электронная Библиотека
Содержание  
A
A

Таблица П.1.1: Регулярные выражения редактора

Символу перевода строки не соответствует ни одно регулярное выражение.

Образец Соответствие
/^$/
пустая строка, т.е. только конец строки
/./
непустая, т.е. по крайней мере один символ
/^/
все строки
/thing/
thing
где либо в строке
/^thing/
thing
в начале строки
/thing$/
thing
в конце строки
/^thing$/
строка, состоящая лишь из
thing
/thing.$/
thing
плюс любой символ в конце строки
/thing\.$/
thing.
в конце строки
/\/thing\//
/thing/
где либо в строке
/[tT]hing/
thing
или
Thing
где либо в строке
/thing[0-9]/
thing
, за которой одна цифра
/thing[^0-9]/
thing
, за которой не цифра
/thing[0-9][^0-9]/
thing
, за которой цифра и не цифра
/thing1.*thing2/
thing1
, затем любая строка, затем
thing2
/^thing1.*thing2$/
thing1
в начале и
thing2
в конце

Регулярные выражения, использующие

*
, выбирают самое левое совпадение с образцом до тех пор, пока это возможно. Отметим, что
x*
может соответствовать нулю, а
xx*
одному или более символу.

Глобальные команды

Глобальные команды

g
и
v
управляют вызовом одной или большего числа других команд, выполняющих преобразования в множестве строк, выбранных регулярным выражением. Команда
g
наиболее часто используется для печати, подстановки или удаления множества строк:

<i>m</i>,<i>n</i>g/re/cmd
Для всех строк между m и n, которые соответствуют
re
выполнить cmd
<i>m</i>,<i>n</i>v/re/cmd
Для всех строк между m и n, которые не соответствуют
re
выполнить
cmd

Командам

g
и
v
могут предшествовать номера строк, ограничивающие диапазон; по умолчанию принимается диапазон
1,$
:

g/.../p
Печатать все строки, соответствующие регулярному выражению
...
g/.../d
Убрать все строки соответствующие
...
g/.../s//repl/p
Заменить первое вхождение
...
в каждой строке на '
repl
', печатать измененные строки
g/.../s//repl/gp
Заменить каждое
...
на '
repl
' , печатать измененные строки
g/.../s/pat/repl/
В строках, соответствующих
...
, заменить первую '
pat
' на '
repl
'
g/.../s/pat/repl/p
В строках, соответствующих
...
, заменить первую '
pat
' на '
repl
' и печатать
g/.../s/pat/repl/gp
В строках, соответствующих
...
, заменить все '
pat
' на '
repl
' и печатать
v/.../s/pat/repl/gp
В строках, не соответствующих
...
, заменить все '
pat
' на '
repl
' и печатать
v/^$/p
Печатать все непустые строки
g/.../cmd1\cmd2\cmd3
Выполнять составные команды с единственной
g
, присоединить
\
к каждой
cmd
кроме последней
140
{"b":"248117","o":1}