- 127 search 第一个匹配串
- 128 match 与 search 不同
- 129 finditer 匹配迭代器
- 130 findall 所有匹配
- 131 案例:匹配浮点数和整数
- 132 案例:匹配正整数
- 133 正则匹配时忽略大小写
- 134 split 分割单词
- 135 sub 替换匹配串
- 136 compile 预编译
- 137 贪心捕获
- 138 非贪心捕获
- 139 正则匹配负整数
- 140 正则匹配负浮点数
- 141 案例:使用正则表达式判断密码是否安全
127 search 第一个匹配串
使用正则模块,search
方法,找出子串第一个匹配位置。
In [31]: s = 'i love python very much'
In [32]: pat = 'python'
In [33]: r = re.search(pat,s)
In [34]: r.span()
Out[34]: (7, 13)
128 match 与 search 不同
正则模块中, match
, search
方法匹配字符串不同
具体不同:
-
match
在原字符串的开始位置匹配; -
search
在字符串的任意位置匹配;
原字符串
In [105]: s = 'flourish'
寻找模式串 our
,使用 match
方法
In [106]: recom = re.compile('our')
In [107]: recom.match(s) # 返回 None,找不到匹配
使用 search
方法:
In [109]: res = recom.search(s)
In [110]: res.span()
Out[110]: (2, 5) # OK, 匹配成功,our 在原字符串的起始索引为 2
那么,什么字符串才能 使用 match
方法匹配到 our
?
比如,字符串 ourselves
, ours
才能 match 到 our
.