python 正则表达式应用——缩写词扩充
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                python 正则表达式应用——缩写词扩充
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                看具體示例
?
import re def expand_abbr(sen, abbr):lenabbr = len(abbr)ma = '' for i in range(0, lenabbr):ma += abbr[i] + "[a-z]+" + ' 'print 'ma:', mama = ma.strip(' ')p = re.search(ma, sen)if p:return p.group()else:return ''print expand_abbr("Welcome to Algriculture Bank China", 'ABC')?
?
?
分析
縮寫詞 FEMA
分解為 F*** E*** M*** A***
規(guī)律 ??大寫字母 + 小寫(大于等于1個(gè))+ 空格
參考代碼
?問題 ?
?以上分析對(duì)于示例前三個(gè)是可以的,但是后三個(gè)出現(xiàn)問題了,大寫字母開頭的擴(kuò)充詞里夾雜這小寫字母
?
解決
縮寫詞 FDA
分解為 F*** (**)? E*** (**)???M*** (**)??A***?
? ? ? ? ? ? ??其中(**)?表示小寫字母組合出現(xiàn)一次或不出現(xiàn)
規(guī)律 大寫字母 + 小寫(大于等于1個(gè))+ 空格 + [小寫+空格](0次或1次)
參考代碼
?
import re def expand_abbr(sen, abbr):lenabbr = len(abbr)ma = '' for i in range(0, lenabbr-1):ma += abbr[i] + "[a-z]+" + ' ' + '([a-z]+ )?'ma += abbr[lenabbr-1] + "[a-z]+"print 'ma:', mama = ma.strip(' ')p = re.search(ma, sen)if p:return p.group()else:return ''print expand_abbr("Welcome to Algriculture Bank of China", 'ABC')?
語法
? ? 匹配前邊一次或0次
()作為一個(gè)分組,后邊可以加量詞,表示匹配的次數(shù)
?
轉(zhuǎn)載于:https://www.cnblogs.com/kaituorensheng/p/3421906.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python 正则表达式应用——缩写词扩充的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 快速排列组合
 - 下一篇: ArcGIS for window mo