2015-11-30 75 views
3

我正在閱讀文件中的一行文本,並希望將由非字母數字ascii字符或break語句使用re.split分隔的單詞分隔開,但我無法確定如何創建正確的模式。下面的代碼產生:簡單正則表達式Python

split = re.split(r'(<br>)|(\W+)', 'I code<br>A project.') 
split = ['', None, 'I', '', None, 'code', '', None, '<', '', None, 'br', 
     '',None, '>', '', None, 'A', '', None, 'project.'] 

我相信我能認識到break語句或非ASCII字符USIG上面的圖案,但顯然這是不正確。我無法理解正則表達式,任何幫助解決這個問題將不勝感激。我想它看起來像下面的分裂後正確:

split = ['I', 'code', 'A', 'project'] 
+0

這是蟒蛇再一個很好的教程:https://開頭開發商。 google.com/edu/python/regular-expressions – bastelflp

回答

1

你不需要組語法()

>>> re.split(r'<br>|\W+', 'I code<br>A project.') 
['I', 'code', 'A', 'project', ''] 
+0

標記,在HTML5中,
標記是一個空標記,這意味着它沒有結束標記。 –

+0

@StefanGruenwald,我站好了,謝謝。 – Mark

+0

我得到的結果是['我','代碼','A','br','項目','']我如何刪除br? –