从vsc支持的正则到博客园支持的正则
问题
在vsc中,如果要在md内嵌Latex公式,单行应该是用小括号包围,多行是中括号;
而在博客园当中则应该使用dollar符,我们可以写一个脚本来进行转化
脚本
import redef replace(input: str):in_patterns = [r"\\\((.*?)\\\)", r"\\\[", r"\\\]", r"((.*?))"] # 最后一个用来特判博客园的情况out_patterns = [r"$\g<1>$", r"$$", r"$$", r"( \g<1> )"]with open(input, 'r') as file:lines = file.readlines()with open(input, 'w') as file:for line in lines:for i in range(4):line = re.sub(in_patterns[i], out_patterns[i], line)file.write(line)if __name__ == "__main__":input = "tmp.txt"replace(input)
加第四个是因为,如果一个latex表达式被中文括号包围,不加空格隔开的话会渲染错误。