电子说
python字符串可以通过re模块的模式匹配来处理文本。
用法
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)
...
用法
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)
...
用法
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)
全部0条评论
快来发表一下你的评论吧 !