你的表情幾乎是不可讀的,而且大部分\
反斜槓實際上是沒有意義的。那些確實有意義的是\[
,\(
和\)
組合,其中大多數看起來像他們不應該在那裏在所有。
例如。部分\[^\<]
被破壞,因爲逃逸的\[
使得]
括號不平衡。
刪除所有反斜線使碼編譯:
>>> re.compile('([^</td *>([^<]*)</td *>[^<]*</td *>([^<]*)</td *>([^<]*)</td *>([^<]*)</td *></tr *>')
<_sre.SRE_Pattern object at 0x7f8c61c76d50>
不是該模式使得在這種情況下,更多的意義,因爲在開始標誌着一個開放字符類[^
那裏,但人物那跟着它表明那不是那個意圖,我們早期看到的\[
可能是那個類的一部分,但是然後你會匹配任何不在集合{'<', '/', 't', 'd', ' ', '*', '(', '[', '^', '<'}
中的東西,這可能不是你想要的。
簡而言之,整個表達式被嚴重破壞,並且在任何Python版本中都不會以當前形式工作。
它看起來像你正試圖用正則表達式解析HTML。這不會很好。改爲使用合適的HTML解析器,例如BeautifulSoup將使提取表格單元數據的任務變得更簡單。
神聖太多的反斜槓,蝙蝠俠!使用'r'''原始字符串來減少所有這些。 '/'不需要轉義。 –
而且代碼對我來說並不適用於Python 2.7。 –
哦,也許你想用一個HTML解析器呢?我懷疑你的代碼會比BeautifulSoup簡單得多。 –