python字符串可以通過re模塊的模式匹配來處理文本。
1.1 match()
用法
match(pattern, string, flags=0)
描述
從字符串(string)的開頭應用模式(pattern),返回匹配對象(match),如果未找到匹配內容,返回None。
入參
pattern:模式,即要匹配的規則,或者叫正在表達式
string:字符串,即要匹配的內容
flags:標志,用于控制正則表達式的匹配方式,比如是否區分大小寫,多行匹配等,默認為0。
出參
匹配成功,返回match,否則,返回None。
示例
下面例子,搜索子字符串(pat),以’梯閱線條’開始,后面跟著0個或幾個空格或制表符([ \\t]*),注意是用[]包含, 表示0個或幾個,接著有任意字符并將其保存至匹配的group中,注意任意字符用’. ’表示,()表示匹配的group,第1個()表示group(1),第n個()表示group(n),最后以’學習’結尾。
>>> import re
>>> pat='梯閱線條[ \\t]*(.*)學習'
>>> strs='梯閱線條軟件測試梯閱線條python字符串re模塊模式匹配學習'
>>> mat=re.match(pat,strs)
>>> print(mat)
...
1.2 group()
用法
group([group1, ...]) -> str or tuple.
描述
按索引或名稱返回匹配的字符串或元組。
入參
不送或送0,表示返回整個字符串。
送groupn,表示返回點n個分組,這里的n對應正則表達式里面的()的位置,從1開始。
送group1,group3,表示返回第1和第3個分組組成的元組。
出參
字符串或元組。
示例
>>> import re
>>> pat='/(.*)/(.*)/(.*)'
...
>>> strs='/梯閱線條/python學習/re模塊group'
...
>>> re.match(pat,strs)
...
1.3 groups()
用法
groups(self, /, default=None)
描述
返回包含匹配的所有子組的元組,從1開始。
入參
default,表示未匹配到的分組的默認值,默認為None。
出參
元組
示例
注意:?(和*類似)表示前面的內容為0個或幾個。d+表示匹配數字,.*表示匹配任意內容(此時沒有匹配到這返回空字符非None)。
>>> re.match('/(.*)/(.*)/?(d+)?','/梯閱線條/python學習').groups()
...
('梯閱線條', 'python學習', None)
>>> re.match('/(.*)/(.*)/?(d+)?','/梯閱線條/python學習').groups('groups用法')
...
('梯閱線條', 'python學習', 'groups用法')
>>> re.match('/(.*)/(.*)/?(.*)?','/梯閱線條/python學習').groups()
...
('梯閱線條', 'python學習', '')
>>> re.match('/(.*)/(.*)/*(d+)*','/梯閱線條/python學習').groups()
...
('梯閱線條', 'python學習', None)
-
編程語言
+關注
關注
10文章
1939瀏覽量
34607 -
字符串
+關注
關注
1文章
577瀏覽量
20488 -
python
+關注
關注
56文章
4783瀏覽量
84473
發布評論請先 登錄
相關推薦
評論