Я пишу текстовые файлы на языке разметки MoinMoin Wiki в текстовом редакторе (emacs). Когда я неправильно размещаю один из специальных тегов, вся моя страница искажается с неправильным форматированием - или еще хуже. Я всегда закрываю элемент форматирования в той же строке, где я его открыл.

Могу ли я использовать gnu grep, чтобы найти несоответствующие Wiki-теги в строке? Подобно:

  • << macroname ( params ) >>
  • backtick код backtick
  • '' двойные кавычки для курсива '' - вероятно, трудно
  • ''' тройные кавычки для жирного ''' - вероятно, трудно

Я обычно не вкладываю теги. Таким образом, здесь нет "жирного кода" или "жирного курсива".

1 ответ1

1

Нет в общем. grep - это инструмент, ориентированный на строки, а регулярные выражения менее мощны, чем контекстно-независимая грамматика. Если вы попробуете написать:

grep -v '<<[^>]>>' <file

Вы пропустите в матче:

<<good>>  <<bad>d>

Но вы уже используете Emacs, и некоторые проверки уже включены:

Mx check-parens RET !

Если вы прочитаете http://moinmo.in/HelpOnParsers, то узнаете, что написание парсера для MoinMoin - трудная задача.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .