之前学正则时写的小笔记,今天想起来发一发
常用符号:
补充:\d+:用于匹配字符串中的纯数字
————————————————————
1. 关于星号的详解:进入
(这是自己遇到的坑,感觉个帖子还是很好的)
——————————————————————
2. 贪心算法和非贪心算法的区别:
贪心算法将会找到最开始和最末尾的xx,匹配最长的字符串
非贪心则会找最短的
但注意:一组xx不会被重复利用(即,不会又当作开头又当作末尾。其他匹配符号亦是如此)
——————————————————————
3. 点(.)不能匹配换行符,即换行符将会截断当前正则表达式的匹配工作,并从新一行重新开始。(若想要可以匹配新的一行,则需要加上参数:“正则表达式”,目标字符串 . re . S)
——————————————————————
常用方法:
1.Compile:写一个规律,并赋值给一个变量。当调用findall或者其他函数时直接:
findall(规律,目标字符串)
2.match:将会匹配一个字符串的开头是否符合所写的正则表达式,若不符合则返回none。
区别:
从区别中我们可以注意到,返回数据类型的不同,经过测试:
-
即便findall匹配的字符串不加括号告诉python你想要什么,它就会自动返回所匹配的字符串。
-
而其他如果不用括号括起来,那python只是匹配到 有 符合此规律的字符串,但不会返回。
看图:
-
当我们需要已提取字符串中的某一段内容时,我们可以在写正则表达式时加上小括号来标明我们需要哪部分的内容。例如:
-
sub的语法:re.sub(“正则表达式“,”要替换成的字符串“,目标字符串)