Необходимо регулярное выражение для LaTeX с экранированным символом} (фигурная скобка) - PullRequest
0 голосов
/ 19 января 2012

Я только начал писать программу на C, конвертирующую LaTeX в HTML-код. На мой взгляд, лучший способ - использовать регулярные выражения, но я не могу заставить эту простую идею работать с PCRE: заменить что-то вроде \term{abc} на [pre]abc[/pre] (\term - моя собственная команда латекса). Прямо сейчас вот подвох:

  1. Как мне обработать экранированные фигурные скобки (\}) в \term?
  2. Как мне обращаться с такими парами, как {}?
  3. Как сделать регулярное выражение настолько жадным, чтобы оно потребляло первую из многих \term команд, но не все из них?

Ну, много вопросов, чтобы понять это. Надеюсь, кто-нибудь может помочь?

PS: Извините, если в любом случае я упустил ответ на аналогичный вопрос ...

Ответы [ 2 ]

2 голосов
/ 19 января 2012

См. Perlfaq6 (1) для «Могу ли я использовать регулярные выражения Perl для сопоставления сбалансированного текста?». Тем не менее, поскольку сложность латекса кажется похожей (если не хуже), чем (x) html, вы можете обратить внимание на слова RegEx совпадают с открытыми тегами, за исключением автономных тегов XHTML .

0 голосов
/ 20 января 2012

Я не знаю точно, что вам нужно, но вы можете рассмотреть htlatex (часть TeX4HT), pandoc или любой из нескольких других вариантов. Общеизвестно, что TeX анализировать сложно.

...