我刚刚开始编写一个C程序,将一些LaTeX转换为HTML代码。在我看来,最好的方法是使用正则表达式,但我无法将这个简单的想法用于PCRE:用[pre]abc[/pre]
替换term{abc}
(term
是我自己的Latex命令)。现在的问题是:
- 如何在
term
中处理转义大括号(}
) - 如何处理像
{}
这样的配对 - 如何使正则表达式如此贪婪,以至于它消耗了许多
term
命令中的第一个,而不是全部命令
好吧,还有很多问题需要解决。希望有人能帮忙?
附言:如果在任何情况下,我忽略了类似问题的答案,我很抱歉。。。
请参阅perlfaq6(1)了解"我可以使用Perl正则表达式来匹配平衡文本吗?"。也就是说,由于latex的复杂性似乎与(x)html相似(如果不是更糟的话),您可能需要注意RegEx的单词匹配开放标签,XHTML自包含标签除外。
我不知道你到底需要什么,但你可能会考虑htlatex(TeX4HT的一部分)、pandoc或其他几个选项中的任何一个。众所周知,TeX很难解析。