正则表达式让我大为困惑,我试图让Python(3.4.0)替换多行MD / CSS代码(在两行中标记“表”段的开头和结尾) reddit机器人。它在两种情况下都不起作用,我为此尝试了多种不同的正则表达式。我也尝试使它成为一个原始字符串并转出更多字符(虽然,没有尝试过很多组合),正如其他一些SO线程所建议的那样。令人讨厌的是,正则表达式在regex101.com(在php和python风格上)和Pythex.org上都很好。只是在Python中不起作用。
这是代码的相关部分,它们或多或少地做同样的事情。
sidebar = r.get_settings(sub)["description"]
regex = r'(?<=\[\]\(#STARTTABLE\)\\n).*?(?=\\n\[\]\(#ENDTABLE\)|$)'
sidebar = re.sub(regex,md,sidebar)
r.update_settings(r.get_subreddit(sub),description=sidebar)
stylesheet = r.get_stylesheet(sub)["stylesheet"]
regex = r'(?<=\/\*START TABLE\*\/).*?(?=\/\*END TABLE\*\/|$)'
stylesheet = re.sub(regex,css, stylesheet)
r.set_stylesheet(sub,stylesheet)
我已将各种变量上传到pastebin。侧边栏字符串可用here,md here,样式表here和css here。
非常感谢你的帮助。