我只是 Python 的初學者。你知道為什么這里有下劃線嗎?

uj5u.com熱心網友回復:
這是一個普通字串,它具有轉義機制,通過在某些字符之前添加反斜杠來為它們創建特殊含義(例如\n,\u791c...)或去除它們的特殊含義(\",\\...)。但是,序列\d沒有定義,"\d"等價于"d"。
(因此,您的代碼將只匹配由任意數量的字母重復組成的字串,d而沒有其他內容,例如"d","dd"或"dddddddd",這可能不是您想要的 - 這就是編輯器警告您可能會聞到的原因。 )
這對于正則運算式來說相當不方便,它也使用反斜杠進行轉義,因此每個反斜杠都必須額外轉義。要創建包含 的正則運算式\d,您必須將反斜杠加倍,以便反斜杠能夠保留在字串中:\\d. 如果你真的想在正則運算式中匹配一個反斜杠,你必須在正則運算式中對其進行轉義——但你也需要在字串文字中對其進行轉義,導致"\\\\".
為此,Python 有“原始字串”,其中反斜杠轉義不起作用 - 反斜杠只是一個反斜杠。要制作原始字串,只需在前面添加r.
因此,您應該改寫以下任何一種:
"^\\d $"
r"^\d $"
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/453873.html
下一篇:對嵌套在陣列中的結構元素進行排序
