суббота, 17 мая 2014 г.

emacs. Отладка регулярных выражений

В данной заметке я хочу поделиться информацией о потрясающей функции emacs - конструкторе и отладчике регулярных выражений re-builder. Итак, поехали.
Для начала, запустим emacs и откроем какой-нибудь файл. Пусть это будет один из файлов исходного кода.
Далее, запустим re-builder. Делается это как обычно.
M-x re-builder
В результате, в окне emacs будет открыт буфер *RE-Builder*.
Задачу ставим такую: сконструировать регулярное выражение для получения всех строк с директивой #include. В моем файле эти строки начинаются с #include (вот это поворот :-) ). Начнем же создание регулярного выражения.
Как видите, стоило там только указать, что искомые строки начинаются с #include, как re-builder тут же нам их подсветил. Часть регулярного выражения уже создана и мы сразу же видим, как она работает. Едем дальше.
А дальше у нас возможны пробелы (один, несколько или вообще их отсутствие), укажем же сей факт в нашем регулярном выражении.
За директивой #include и пробелами следует открывающая скобка < или двойная кавычка.
Как видите, стоило нам только указать это в регулярном выражении, как все сработало как нужно. После скобки или двойной кавычки нас ждут символы алфавита и цифры в количестве от единицы и более. Необходимо это учесть.
Кажется, мы забыли указать, что в именах заголовочных файлов могут содержаться слэши, точки и символы подчеркивания. Исправляемся.
И последний штрих - закрывающая скобка > или двойная кавычка.
Просто шикарно! Регулярное выражение готово.

Первоисточник: Introduction to Regex in Emacs.

Комментариев нет:

Отправить комментарий