溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

什么是Python正則表達(dá)式

發(fā)布時(shí)間:2020-08-04 17:19:11 來(lái)源:億速云 閱讀:132 作者:Leah 欄目:編程語(yǔ)言

本篇文章給大家分享的是有關(guān)什么是Python正則表達(dá)式,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。

1、查找第一個(gè)匹配串

s = 'i love python very much'

pat = 'python'

r = re.search(pat,s)

print(r.span()) #(7,13)

2、查找所有1

s = '山東省濰坊市青州第1中學(xué)高三1'

pat = '1'

r = re.finditer(pat,s)

for i in r:

print(i)

 

# <re.Match object; span=(9, 10), match='1'>

# <re.Match object; span=(14, 15), match='1'>

3\d匹配數(shù)字[0-9]

s = '一共20行代碼運(yùn)行時(shí)間13.59s'

pat = r'\d+' # +表示匹配數(shù)字(\d表示數(shù)字的通用字符)1次或多次

r = re.findall(pat,s)

print(r)

# ['20', '13', '59']

4、表示前一個(gè)字符匹配01

s = '一共20行代碼運(yùn)行時(shí)間13.59s'

pat = r'\d+\.?\d+' # ?表示匹配小數(shù)點(diǎn)(\.)0次或1

r = re.findall(pat,s)

print(r)

# ['20', '13.59']

5、^匹配字符串的開(kāi)頭

s = 'This module provides regular expression matching operations similar to those found in Perl'

pat = r'^[emrt]' # 查找以

r = re.findall(pat,s)

print(r)

# [],因?yàn)樽址拈_(kāi)頭是字符`T`,不在emrt匹配范圍內(nèi),所以返回為空

6、re.I 忽略大小寫(xiě)

s = 'This module provides regular expression matching operations similar to those found in Perl'

pat = r'^[emrt]' # 查找以

r = re.compile(pat,re.I).search(s)

print(r)

# <re.Match object; span=(0, 1), match='T'> 表明字符串的開(kāi)頭在匹配列表中

7、使用正則提取單詞

s = 'This module provides regular expression matching operations similar to those found in Perl'

pat = r'\s[a-zA-Z]+'

r = re.findall(pat,s)

print(r) #[' module', ' provides', ' regular', ' expression', ' matching', ' operations', ' similar', ' to', ' those', ' found', ' in', ' Perl']

8、只捕獲單詞,去掉空格

s = 'This module provides regular expression matching operations similar to those found in Perl'

pat = r'\s([a-zA-Z]+)'

r = re.findall(pat,s)

print(r) #['module', 'provides', 'regular', 'expression', 'matching', 'operations', 'similar', 'to', 'those', 'found', 'in', 'Perl']

9、補(bǔ)充上第一個(gè)單詞

s = 'This module provides regular expression matching operations similar to those found in Perl'

pat = r'\s?([a-zA-Z]+)'

r = re.findall(pat,s)

print(r) #['This', 'module', 'provides', 'regular', 'expression', 'matching', 'operations', 'similar', 'to', 'those', 'found', 'in', 'Perl']

10、使用split函數(shù)直接分割單詞

使用以上方法分割單詞,不是簡(jiǎn)潔的,僅僅為了演示。分割單詞最簡(jiǎn)單還是使用 split 函數(shù)。

s = 'This module provides regular expression matching operations similar to those found in Perl'

pat = r'\s+'

r = re.split(pat,s)

print(r) # ['This', 'module', 'provides', 'regular', 'expression', 'matching', 'operations', 'similar', 'to', 'those', 'found', 'in', 'Perl']

以上就是什么是Python正則表達(dá)式,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI