3 回答

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
那是“ *”和特殊字符之間的Python錯(cuò)誤。
代替
re.compile(r"\w*")
嘗試:
re.compile(r"[a-zA-Z0-9]*")
它可以工作,但是不能使用相同的正則表達(dá)式。
該錯(cuò)誤似乎已在2.7.5和2.7.6之間修復(fù)。

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
實(shí)際上,這不僅是帶有*的Python錯(cuò)誤,而且還可能在將字符串作為要編譯的正則表達(dá)式的一部分傳遞時(shí)發(fā)生,例如;
import re
input_line = "string from any input source"
processed_line= "text to be edited with {}".format(input_line)
target = "text to be searched"
re.search(processed_line, target)
如果處理過的行包含一些“(+)”(例如,您可以在化學(xué)式中找到)或此類字符鏈,則將導(dǎo)致錯(cuò)誤。解決方案是逃脫,但是當(dāng)您即時(shí)進(jìn)行操作時(shí),可能會(huì)發(fā)生無法正確執(zhí)行操作的情況...
添加回答
舉報(bào)