使用python獲取商品描述中的型號--基于正則表達式
在網(wǎng)上獲取的商品描述信息或者評價信息中,由于信息主體存在于非結(jié)構(gòu)數(shù)據(jù)中,實體的型號存在于商品的文本數(shù)據(jù)中。如何從文本數(shù)據(jù)中非結(jié)構(gòu)化數(shù)據(jù)中獲取具體的商品型號是一個非常有價值的領(lǐng)域。
使用正則表達式獲取商品型號
正則表達式是一種可以在文檔中發(fā)現(xiàn)符合規(guī)定模式文本的方式,正則表達式的模式規(guī)則如下:
以上僅列出了正則表達式常用的部分匹配方式,足以看出正則表達式具有強大的描述效果。
從網(wǎng)上采集的原始文檔為如下形式:海爾(Haier)452升風冷無霜對開門冰箱 90度開門 66.5cm纖薄機身 低溫凈味 雙溫雙控BCD-452WDPF
可以看出需要提取的信息為:BCD-452WDPF
分析這個任務(wù)可以看出原始文本中 存四種字符:中文、英文、數(shù)字、特殊字符。在正則表達式中:(1)中文可以使用.來表示\w進行匹配(2)英文字母組合可以使用枚舉26個英文字母同時指定出現(xiàn)次數(shù)的方式[a-zA-z],如果出現(xiàn)至少一次則可以指定出現(xiàn)次數(shù)為+進行匹配(3)數(shù)字可以使用枚舉所有數(shù)字[0-9],并指定出現(xiàn)次數(shù)的方式進行匹配,如果出現(xiàn)至少一次則可以指定出現(xiàn)次數(shù)為+(4)特殊字符,可以通過枚舉方式列出,如[,*-+]等,如果出現(xiàn)0次或者多次則可以指定出現(xiàn)次數(shù)為。
需要提取的內(nèi)容為字母、數(shù)字和橫線(連字符)的組合,一般情況下型號一般都有橫線(連字符),在橫線的前后內(nèi)容中可能存在(1)字母或者數(shù)字組合(2)純字母(3)純數(shù)字這三種情況。因此首先我們先將橫線(連字符)放在中間“-”,指定前后的模式格式一致表現(xiàn)為:大寫字母、小寫字母或者數(shù)字至少有一個出現(xiàn)一次的情況“[a-zA-Z0-9]+”。因此整體模式可以寫作:“[a-zA-Z0-9]+-[a-zA-Z0-9]+”
具體應(yīng)用場景
######代碼內(nèi)容 上述代碼描述了如何讀取數(shù)據(jù)并利用正則表達式獲取產(chǎn)品型號,其結(jié)果如下:凡是包含產(chǎn)品型號的描述,其中的產(chǎn)品型號部分被提取了出來,而沒有包含產(chǎn)品型號的語句得出的結(jié)果為空。######代碼運行結(jié)果 上述結(jié)果證明:正則表達式可以在描述語句不多,且型號信息規(guī)則的情況下獲取到商品的型號信息。
本文轉(zhuǎn)載自異步社區(qū)。
原文鏈接
https://www.epubit.com/articleDetails?id=N474f41db-bcc5-431e-9569-986f4c978e87
Python 正則表達式
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。