- 正则表达式
- 1、正则表达式查找常用的表达式
- ①re.match()
- ②re.search()
- 2、正则表达式中的字符和特殊字符
- 3、模式修饰符
- 4、匹配多个字符
- 5、边界字符
- 6、其他的功能函数
主要用来检索、替换符合某个模式的文本
借助re模块
import re1、正则表达式查找常用的表达式 ①re.match()
# match 匹配字符串是否以指定的正则内容开头,成功:返回对象,失败:返回None
# d 表示0-9之间的任意数字
# + 表示可以出现1次或多次
print(re.match("d+","a12fs212")) # None
print(re.match("d+","12fs212")) #
②re.search()
# search 匹配字符串中是否包含指定内容,成功:返回对象,失败:返回None
print(re.search("d+","125ag12")) #
print(re.search("d+","a12g1244")) #
2、正则表达式中的字符和特殊字符
d 表示[0-9]任意字符
D 表示非数字字符[^0-9]
w 表示[0-9、a-z、A-Z、_]
W 表示 [^0-9、a-z、A-Z、__]
s 表示匹配任意空白字符 [r n t f]
S 表示匹配任意非空白字符[^r n t f]
[]、-、.
用来修饰正则表达式,是一个可选参数
re.S:使.能够匹配换行符(n)
print(re.search("hello.","hellon")) # None
# re.S 使.能够匹配换行符(n)
print(re.search("hello.","hellon",re.S)) #
re.I:忽略大小写
print(re.search("hello[a-z]","helloM")) # None
# re.I 忽略大小写
print(re.search("hello[a-z]","helloM",re.I)) #
4、匹配多个字符
?:前面的字符可以出现0次或1次
+:前面的字符可以出现1次或多次
*:前面的字符可以出现0次或多次
{}:前面的字符可以出现指定次数或次数的范围
^:行首匹配,以指定字符开头
$:行尾匹配,以指定字符结尾
^文本$:完全匹配
转义字符 使正则表达式中的符号失去原有的意义
拆分:re.split(“正则表达式”,“要处理的数据”):
print(re.split("d","hello125world45")) # ['hello', '', '', 'world', '', '']
替换:re.sub(“正则表达式”,“用来替换的部分”,要处理的字符串)
str = "今天 中午 吃啥"
print(re.sub("s+","---",str)) # 今天---中午---吃啥
匹配中文
chinese = "[u4e00-u9fa5]+" print(re.search(chinese,"123 好好学习天天向上 256")) #



