我使用美麗的湯來識別特定標籤及其內容。內容是html鏈接,我想提取這些標籤的文本。美麗的湯和正則表達式
問題在於文本是根據特定模式由不同的數字組成的。我只對諸如「61993J0417」和「61991CJ0316」等數字感興趣,當數字中間有一個「J」和「CJ」時,我需要正則表達式來匹配這兩個數字。
我已經使用這個代碼來實現這一點:
soup.find_all(text=re.compile('[6][1-2][0-9]{3}[J]|[CJ][0-9]{4}'))
湯變量是特定的標籤的內容。此代碼適用於10個案例中的9個。但是,當我在其中一個源文件上運行此腳本時,它還匹配諸如「51987PC0716」之類的數字。
我不明白爲什麼所以我會求助於你。
在特定的文件,這個表達式提出了四個錯誤匹配:51987PC0716,51992PC0405,51992PC0405-C和51992PC0405-A09。 如果我將正則表達式更改爲''^ [6] [1-2] [0-9] {3} [J] | [CJ] [0-9] {4} $'',它只會產生兩個錯誤和匹配51987PC0716和51992PC0405。 – A2D2 2012-04-25 06:58:23