[英]re.sub not working for a particular regex pattern
我正在使用以下代碼:
re.sub(inputpattern,outputpattern, currentline)
在上面的代碼中,我正在從csv讀取outputpattern的值,其值為:
\\1-\\2-\\3-\\4
我正在閱讀如下:
outputpattern = row['PREFIX_1_WRT_FMT']
我也嘗試過:
outputpattern = "'"+ row['PREFIX_1_WRT_FMT'] +"'"
問題是它沒有將其視為正確的格式,但是如果我像下面這樣對它進行硬編碼,它就可以正常工作:
re.sub(inputpattern,'\\\\1-\\\\2-\\\\3-\\\\4', currentline)
如果您將反斜杠作為文字字符串使用,則僅需要轉義反斜杠。
"\\1-\\2-\\3-\\4"
如果您從輸入中讀取它,則不必這樣做。 您需要將CSV中的模式更改為\\ 1- \\ 2- \\ 3- \\ 4
如果您不喜歡在使用文字字符串時轉義每個字符,也可以使用原始字符串,方法是在字符串前加上字母r。
r"\1-\2-\3-\4"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.