标签:too search 迭代器 arch 元字符 复制 div xxxx 字母
元字符 . 除了换行 \w 数字, 字母, 下划线 \d 数字 \s 空白符 \n \t \b 单词的边界 \W 非xxx \D \S [ ] 字符组 or的关系 [^xxx] 非xxxx ^ 字符串的开始 $ 字符串的结束 | 或者 ‘ ‘ 啥都能匹配 量词 * 0->n + 1->n ? 0->1 {p} p次 {p,q} p->q次 {p,} 至少p次 贪婪和惰性 .* .+ 惰性: .*?宝宝 尽可能少的匹配 转义 \\\\n => \\n => \n 正则前面加r 分组 ()
(?P<name>正则)
1. search() 搜索. 搜索到第一个结果返回
import re # search 搜索, 查找 # 一旦匹配到结果. 直接返回, 如果匹配不到结果. 返回None result = re.search("\d+", "宝宝45的电话是123") print(result) # <_sre.SRE_Match object; span=(6, 9), match=‘123‘> print(result.group()) # 45
2. match() 匹配. 收到一个结果返回. 从头开始匹配
import re # 匹配, 从头开始匹配. 相当于在你正则前面加了一个^ result = re.match("\d+", "434宝宝的电话是:") print(result.group()) # 434
# search和match的区别: search查找. 找到了结果就返回. match. 从头开始匹配.
3. findall() 查找所有匹配结果
import re result = re.findall("\d+", "baby的电话号是: 185123456789") print(result) # [‘185123456789‘]
4. finditer() 返回迭代器.
import re it = re.finditer("\d+", "baby123456789的电话号是: 185123456789") for el in it: print(el.group()) # 分组 123456789 185123456789
5. compile() 编译
6. group("name") 获取数据
7. re.S 干掉 . 的换行
标签:too search 迭代器 arch 元字符 复制 div xxxx 字母
原文地址:https://www.cnblogs.com/uiys/p/10673198.html