正則表達式使我大量困惑,我試圖讓Python(3.4.0)替換MD/CSS代碼的多行(兩行之間標記「表「段)在兩個實例中的一個reddit機器人。它在任何情況下都不起作用,我已經嘗試了多種不同的正則表達式。我也試圖使它成爲一個原始字符串並逃脫更多字符(雖然沒有嘗試過很多組合),正如其他一些SO線程所建議的那樣。令人煩惱的是,regex1在regex101.com上(在php和python中都有)和Pythex.org上的正確匹配。只是不能在Python中工作。Python的Re.Sub沒有任何變化當正則表達式匹配
這是代碼的相關位,都做或多或少相同的事情。
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。
非常感謝您的幫助。
不要鏈接到大型外部文件,請提供一個小型自包含示例來演示您的帖子中的問題。 – BrenBarn