python字符串可以通過(guò)re模塊的模式匹配來(lái)處理文本。
1.1 match()
用法
match(pattern, string, flags=0)
描述
從字符串(string)的開(kāi)頭應(yīng)用模式(pattern),返回匹配對(duì)象(match),如果未找到匹配內(nèi)容,返回None。
入?yún)?/strong>
pattern:模式,即要匹配的規(guī)則,或者叫正在表達(dá)式
string:字符串,即要匹配的內(nèi)容
flags:標(biāo)志,用于控制正則表達(dá)式的匹配方式,比如是否區(qū)分大小寫(xiě),多行匹配等,默認(rèn)為0。
出參
匹配成功,返回match,否則,返回None。
示例
下面例子,搜索子字符串(pat),以’梯閱線條’開(kāi)始,后面跟著0個(gè)或幾個(gè)空格或制表符([ \\t]*),注意是用[]包含, 表示0個(gè)或幾個(gè),接著有任意字符并將其保存至匹配的group中,注意任意字符用’. ’表示,()表示匹配的group,第1個(gè)()表示group(1),第n個(gè)()表示group(n),最后以’學(xué)習(xí)’結(jié)尾。
>>> import re
>>> pat='梯閱線條[ \\t]*(.*)學(xué)習(xí)'
>>> strs='梯閱線條軟件測(cè)試梯閱線條python字符串re模塊模式匹配學(xué)習(xí)'
>>> mat=re.match(pat,strs)
>>> print(mat)
...
1.2 group()
用法
group([group1, ...]) -> str or tuple.
描述
按索引或名稱(chēng)返回匹配的字符串或元組。
入?yún)?/strong>
不送或送0,表示返回整個(gè)字符串。
送groupn,表示返回點(diǎn)n個(gè)分組,這里的n對(duì)應(yīng)正則表達(dá)式里面的()的位置,從1開(kāi)始。
送group1,group3,表示返回第1和第3個(gè)分組組成的元組。
出參
字符串或元組。
示例
>>> import re
>>> pat='/(.*)/(.*)/(.*)'
...
>>> strs='/梯閱線條/python學(xué)習(xí)/re模塊group'
...
>>> re.match(pat,strs)
...
1.3 groups()
用法
groups(self, /, default=None)
描述
返回包含匹配的所有子組的元組,從1開(kāi)始。
入?yún)?/strong>
default,表示未匹配到的分組的默認(rèn)值,默認(rèn)為None。
出參
元組
示例
注意:?(和*類(lèi)似)表示前面的內(nèi)容為0個(gè)或幾個(gè)。d+表示匹配數(shù)字,.*表示匹配任意內(nèi)容(此時(shí)沒(méi)有匹配到這返回空字符非None)。
>>> re.match('/(.*)/(.*)/?(d+)?','/梯閱線條/python學(xué)習(xí)').groups()
...
('梯閱線條', 'python學(xué)習(xí)', None)
>>> re.match('/(.*)/(.*)/?(d+)?','/梯閱線條/python學(xué)習(xí)').groups('groups用法')
...
('梯閱線條', 'python學(xué)習(xí)', 'groups用法')
>>> re.match('/(.*)/(.*)/?(.*)?','/梯閱線條/python學(xué)習(xí)').groups()
...
('梯閱線條', 'python學(xué)習(xí)', '')
>>> re.match('/(.*)/(.*)/*(d+)*','/梯閱線條/python學(xué)習(xí)').groups()
...
('梯閱線條', 'python學(xué)習(xí)', None)
-
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1929瀏覽量
34539 -
字符串
+關(guān)注
關(guān)注
1文章
575瀏覽量
20468 -
python
+關(guān)注
關(guān)注
55文章
4767瀏覽量
84375
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論