python正则表达式re.search()的基本使⽤教程1 re.search() 的作⽤:
re.search会匹配整个字符串,并返回第⼀个成功的匹配。如果匹配失败,则返回None
从源码⾥⾯可以看到re.search()⽅法⾥⾯有3个参数
pattern: 匹配的规则,
string : 要匹配的内容,
flags 标志位这个是可选的,就是可以不写,可以写, ⽐如要忽略字符的⼤⼩写就可以使⽤标志位
flags 的主要内容如下
flags : 可选,表⽰匹配模式,⽐如忽略⼤⼩写,多⾏模式等,具体参数为:
1. re.I 忽略⼤⼩写
2. re.L 表⽰特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
3. re.M 多⾏模式
4. re.S 即为 . 并且包括换⾏符在内的任意字符(. 不包括换⾏符)
5. re.U 表⽰特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
6. re.X 为了增加可读性,忽略空格和 # 后⾯的注释
2 demo 练习re.search() 的使⽤
2.1 search 简单的匹配
import re
content = "abcabcabc"
rex = re.search("c", content)
print(rex)
打印结果如下
正则匹配大小写字母数字特殊字符从内容我们可以看到span(2, 3) 这个应该是对应的下标,所以我们想获取匹配的下标可以使⽤span
match 是匹配的内容, 内容为c
2.2 获取匹配的下标
import re
content = "abcabcabc"
rex = re.search("c", content)
up())
打印结果如下
2.3 获取匹配的内容 ,使⽤group(匹配的整个表达式的字符串)
import re
content = "abcabcabc"
rex = re.search("c", content)
up())
打印结果如下
注意group 和span 不能同时使⽤, 否则会报错2.4 使⽤标志位忽略匹配的⼤⼩写
import re
content = "abcabcabc"
rex = re.search("C", content, re.I)
up())
打印结果如下
这⾥使⽤⼤写字母C 忽略⼤⼩写之后也能匹配到c 2.5 使⽤search 匹配字符串⾥⾯的数组
import re
content = "abc123abc"
rex = re.search("\d+", content)
up())
打印结果
2.6 search 结合compile 使⽤
import re
content = "abc123abc"
rex_content = repile("\d+")
rex = rex_content.search(content)
up())
打印结果
2.7 group 的使⽤
import re
content = "abc123def"
rex_compile = repile("([a-z]*)([0-9]*)([a-z]*)")
rex = rex_compile.search(content)
up())
up(0)) # group()和group(0) ⼀样匹配的是整体up(1)) # 匹配第⼀个⼩括号的内容
up(2)) # 匹配第⼆个⼩括号的内容
up(3)) # 匹配第三个⼩括号的内容
打印结果
group() ⼩括号⾥⾯不⽌有数字,可以是⾃定的内容如下
content = "zhangsanfeng108le"
rex_compile = repile("(?P<name>[a-z]*)(?P<age>[0-9]*)")
rex_content = rex_compile.search(content)
print(up())
print(up("name")) # 这⾥效果等同于group(1)
print(up("age")) # 这⾥效果等同于group(2)
打印结果如下
总结
到此这篇关于python正则表达式re.search()基本使⽤的⽂章就介绍到这了,更多相关python正则表达式re.search()内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论