我正在尝试编写一个脚本,可以将\\[
或\\]
之类的内容转换为$$
,以便将MultiMarkdown文档转换为可以在HTML中显示方程式的Pandoc markdown文档。我正在使用Python来使用
matchstring=r'\\['
re.sub(matchstring,'$$',content)
但是我遇到了以下错误:
unexpected end of regular expression:line 15:matchstring=re.compile(r'\\[')
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 190:
return _compile(pattern, flags)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 245:
raise error, v # invalid expression
很可能是因为我在那里的最后[
。有没有人知道解决这个问题的方法?
答案 0 :(得分:1)
逃离[
:
matchstring=re.compile(r'//\[')
或者更好的是,使用:
content.replace("//[", "$$")
并且根本不涉及正则表达式。
答案 1 :(得分:1)
pandoc -f markdown_mmd -t markdown
会为你做这个! (对于pandoc> = 1.11)
答案 2 :(得分:0)
您的问题是您写的是r'//['
,而不是r'\\['
,
但无论如何要更好地尝试这个:
matchstring.replace(r'\\[', '$$').replace(r'\\]', '$$')
答案 3 :(得分:0)
如果你在你的正则表达式中使用“[”,我会认为它需要有一个转义,因为它在正则表达式中使用。
尝试以下方法之一:
content = "testing123//]testing456"
matchstring = "//]"
result = content.replace(matchstring, "$$")
print result
或
content = "testing123//]testing456"
matchstring = '(//\])'
result = re.sub(matchstring,'$$',content)
print result
要么适合你的目的。