python 正規表示式應用 縮寫詞擴充

2021-09-06 12:40:35 字數 1668 閱讀 2758

看具體示例

import

redef

expand_abbr(sen, abbr):

lenabbr =len(abbr)

ma = ''

for i in

range(0, lenabbr):

ma += abbr[i] + "

[a-z]+

" + '

'print

'ma:

', ma

ma = ma.strip('')

p =re.search(ma, sen)

ifp:

return

p.group()

else

:

return

''print expand_abbr("

welcome to algriculture bank china

", '

abc')

分析

縮寫詞fema

分解為f*** e*** m*** a***

規律大寫字母 + 小寫(大於等於1個)+ 空格

參考**

問題

以上分析對於示例前三個是可以的,但是後三個出現問題了,大寫字母開頭的擴充詞裡夾雜這小寫字母

解決

縮寫詞fda

分解為f*** (**)? e*** (**)?  m*** (**)? a*** 

其中(**)?表示小寫字母組合出現一次或不出現

規律大寫字母 + 小寫(大於等於1個)+ 空格 + [小寫+空格](0次或1次)

參考**

import

redef

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:

', ma

ma = ma.strip('')

p =re.search(ma, sen)

ifp:

return

p.group()

else

:

return

''print expand_abbr("

welcome to algriculture bank of china

", '

abc')

語法

?   匹配前邊一次或0次

()作為乙個分組,後邊可以加量詞,表示匹配的次數

python 正規表示式應用

usr bin env python coding utf 8 乙個小爬蟲 其中用的規則是 src jpg pic ext 可是這樣會出現問題 如 網頁源 中會有這樣的串 情況一 引用非jpg的標籤後連著乙個引用jpg的標籤 匹配出來的url pic ext png width 30 height ...

python 正規表示式應用

同樣的概念也適用於正規表示式 在模式匹配發生之前,正規表示式模式必須編譯 成正規表示式物件。由於正規表示式在執行過程中將進行多次比較操作,因此強烈建議使 用預編譯。而且,既然正規表示式的編譯是必需的,那麼使用預編譯來提公升執行效能無疑 是明智之舉。re.compile 能夠提供此功能。一 使用 co...

正規表示式應用

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d 非正浮點數 負浮點數 0 0 9 0 ...