1. 程式人生 > >python判斷句子是否匹配某種模式

python判斷句子是否匹配某種模式

re.search是字串裡面存在某種正則

if  re.search(r"^\s{0,}\(([a-zA-Z]|\d+)\)", en):    
    lines.append(ch + '|||' + en +'\n')

re.match是整個字串匹配

if re.match(r".*\|\|\|.*", line):

re.findall可能得到的是陣列,len(re.findall)判斷陣列是否為空 即能判斷字串中是否匹配某種模式

 while len(re.findall( r'[a-z]+[A-Z]',  line)) > 0:

如何拆分TomJackSun為Tom Jack Sun:

 while len(re.findall( r'[a-z]+[A-Z]',  line)) > 0: #TomJack->Tom Jack
        line = re.sub( r'([a-z]+)([A-Z])', r'\1 \2', line )

替換操作re.sub和re.subn有什麼區別呢:

把?換為!  nu代表替換了幾個

line,nu = re.subn(r'!','!',line)   

把空格替換掉

ch = re.sub('\s+','',ch)