我個人猜測應該是條件排除不夠乾淨,但我不太確定需要排除多少東西
但可以確定的是你目前的寫法排除的條件不夠多
可以用這個網站(regex101)玩玩看
猜測你要找的是非空白字元且非英文字母的字符
[^\w]
不會把數字和底線除外
但我嘗試 re.sub
這樣的條件時: [^\w\s]+|[_]+|\d+
,依然得到一樣的結果
不太確定是有什麼條件沒有注意到
我的做法是用 re.findall
(或 re.finditer
) 找符合條件的字串,即匹配連續不中斷的英文字母,寫成 [A-Za-z]+
就可以了,規則簡單不少