需要使用转义的}(大括号)LaTeX的正则表达式

时间:2012-01-18 20:28:09

标签: regex latex pcre

我刚刚开始编写一个C程序,将一些LaTeX转换为HTML代码。在我看来,最好的方法是使用正则表达式,但我不能使这个简单的想法与PCRE一起使用:用\term{abc}替换[pre]abc[/pre]之类的东西(\term是我自己的Latex命令)。现在这里是抓住了:

  1. 如何处理\}中的转义花括号(\term)?
  2. 如何处理{}之类的对话?
  3. 如何使正则表达式如此贪婪,以至于它消耗了许多\term命令中的第一个,但不是全部?{/ li>

    好吧,很多问题要弄清楚。希望有人能帮忙吗?

    PS:对不起,无论如何,我忽略了对类似问题的回答...

2 个答案:

答案 0 :(得分:2)

请参阅perlfaq6(1)“我可以使用Perl正则表达式来匹配平衡文本吗?”。也就是说,由于乳胶的复杂性似乎与(x)html相似(如果不是更差),您可能需要注意RegEx match open tags except XHTML self-contained tags的单词。

答案 1 :(得分:0)

我不确切知道你需要什么,但你可能会考虑htlatex(TeX4HT的一部分),pandoc或其他几个选项。众所周知,TeX难以解析。