2021-4-1 正则表达式自学

正则表达式 re:
首先impo re
使用字符,转义字符和特殊字符组成一个规则,使用这个规则对文本的内容完成一个搜索或者匹配或替换的功能
正则表达式的组成:
普通字符: 大小写字母,数字,符合……
转义字符:\w,\W,\d,\D,\s,\S……
特殊字符:. *?^+[]{}()……
匹配模式:I U……

—re.match() 函数
从头开始匹配
要么第一个就符合要求,要么不符合
匹配成功则返回match对象,否则返回None
可以使用group()方法获取返回的数据
可以使用span()方法获取匹配的数据的下标区间
—re.search()
从字符串开头到结尾进行搜索匹配
匹配成功则返回match对象,否则返回None
可以使用group()方法获取返回的数据
可以使用span()方法获取匹配的数据的下标区间
区别:
—match()是从字符串开头进行匹配,如果开头不符合正则要求,则匹配失败,返回None
—search()是从字符串的开始位置一直搜索到字符串最后,如果在整个字符串中没有匹配到,则失败,返回None
—re.findal()
按照正则表达式的规则在字符串中匹配所有元素,结果返回一个列表,如果没有找到返回空列表
—re.finditer()
按照正则表达式规则在字符串中匹配所有符合规则的元素,返回一个迭代器
—re.sub()
按照正则表达式的规则,在字符串中找到需要被替换的字符串,完成一个替换
参数要求:
pattern:正则表达式的规则,匹配需要被替换的字符串
repl:替换后的字符串
string:被替换的原始字符串
compile()
可以直接将正则表达式定义为 正则对象,使用正则对象直接操作
#转义字符#
\w#代表 单个 字母、数字、下划线
\W#代表 单个的 非 字母、数字、下划线
\d#代表 单个的 数字
\D#代表 单个的 非数字
\s#代表 单个的 空格符
\S#代表 单个的 非 空格符或制表符
#特殊字符#
.#.代表单个的任意字符,除了换行符
*#代表匹配次数 任意次数 包括0次
特点:如果使用
号,那么在匹配的开始处如果符合要求,则按照规则一直向后匹配,直到不符合匹配规则结束并把前面符合的数据返回’
如果在匹配的开始处就不符合要求,则直接返回,匹配到的次数为0
+#+代表匹配次数 至少要求匹配一次
?#?代表拒绝贪婪,就是前面的匹配规则只要达成则返回
{}#代表匹配次数,{4}表示必须匹配4次 {2,5}表示匹配的区间2-5次
[]#代表字符的范围[A-Z,a-z,0-9]==\w
()#代表子组,括号中的表达式首先作为整个正则的一部分,另外会把符合小括号的内容单独提取一份
#发表开头 $发表结尾

猜你喜欢

转载自blog.csdn.net/weixin_45921943/article/details/115386974