1

MultiMarkdownドキュメントをHTMLで方程式を表示できるPandocマークダウンドキュメントに変換するために、\\[または\\]に変換できるスクリプトを作成しようとしています。$$私は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

おそらく[私がそこにいる最後のせいです。誰かがこれを回避する方法を知っていますか?

4

4 に答える 4

1
pandoc -f markdown_mmd -t markdown

あなたのためにこれをします!(pandoc >= 1.11 の場合)

于 2013-03-22T04:51:55.300 に答える
1

次をエスケープし[ます。

matchstring=re.compile(r'//\[')

または、さらに良いことに、次を使用します。

content.replace("//[", "$$")

正規表現をまったく使用しないでください。

于 2013-03-21T17:55:59.640 に答える
0

正規表現内で「[」を使用している場合、正規表現内で使用されるため、エスケープが必要になると思います。

次のいずれかを試してください。

content = "testing123//]testing456"
matchstring = "//]"
result = content.replace(matchstring, "$$")
print result

また

content = "testing123//]testing456"
matchstring = '(//\])'
result = re.sub(matchstring,'$$',content)
print result

どちらもあなたの目的のために働くはずです。

于 2013-03-21T18:26:12.507 に答える
0

あなたの問題はr'//['、 ではなくを書くことですr'\\['が、とにかくこれを改善してみてください:

matchstring.replace(r'\\[', '$$').replace(r'\\]', '$$')
于 2013-03-21T17:54:41.123 に答える