2010-05-04 87 views
1

除了撇號之外,我如何分割所有非字母數字字符?Python正則表達式異常

re.split('\W+',text) 

作品,但也會分裂在撇號上。如何爲此規則添加例外?

謝謝!

回答

3

試試這個:

re.split(r"[^\w']+",text) 

注意w現在是小寫的,因爲它代表了所有字母數字字符(注意,其中包括下劃線)。字符類[^\w']指的是什麼,是不是^)無論是字母數字(\w)或撇號。

2
re.split(r"[^\w']+",text) 

通過啓動一個字符類與^,它反轉定義,因此[^\w'][\w']逆,這將匹配的字母數字/下劃線/撇號。

0

這裏的答案不工作,爲「引」字不會被剝奪撇號。

我什麼工作是

re.split(r"\W'+|^'+|'+\W|'$|[^\w']+", text) 

即刪除:

撇號(S)後行非Word或 撇號(S)開始或之前非字 撇號(S) OR 當前解決方案