正则表达式
正则表达式:可以理解为是在python里的另一种规则,或者说是小语言,因为他比较简单 所以python里面自带的正则表达式。可以通过import re来调用
re.findall:和字符串的find类似,用于查找一段字符串里的关键词,并把他们生成列表
re.search:浏览全部字符串,匹配第一个符合规则的字符串 (挨个往后查找)
re.match:只匹配开头的字符串,如果要处理的字符在后面就处理不了
match:


findall:因为正则表达是遵循的是挨个往后找的原则,但是找到匹配内容以后,就会把找到的内容拿走,接下来从拿走以后的部分继续匹配
1、


2、“ ”空字符串也可以进行匹配,有占位子的功能


3、分组的意思就是在匹配出的结果中再去提取内容,提取括号里的原则是左到右,外到内




想当于从\w+里又提取(e)

4、


split:分割


应用在计算器:


实例:




sub:替换




findall、search和match格式都是下面的形式:

group里可以放参数:group(1)列出第一个括号里匹配部分,group(2)就是列出第二个括号里的匹配部分。
a = "123abc456"

模式:还有多行匹配、




区别:findall 处理带括号的时候得到的结果只有括号里的,而search就是括号外面和括号里面组合起来的

sub替换:

comlile:用简单的字符代替复杂度规则

split:分割


".":通配符,可以代表除换行符之外的任何字符

"^":尖角符,以你输入的关键词开头,例如re.findall "^alex"时,就只能以"alex"开头时才能被找到

"$":以你输入的关键词结尾。例如re.findall "alex$"时,就只能以"alex"结尾时才能被找到

"*"重复0到多次

"+":重复1到多次

"?":0到1次

"{}":自定义次数,可以几次到几次

"()":和数学里的()一样,括号里的代表一组,先处理括号里的内容
当是a(\d+)时 就是组合起来执行,结果就是a加括号里的内容,当括号里加一个限定条件时 如?就跟的最小限定走

当后面也有条件的时候就没有限定了,有多少拿多少。?的作用消失

"\":反斜杠




字符集:[]代表或者的意思,元字符“+” “*”等在字符集里的功能也就失去了,只是普通的符号


"-":在字符集里是"至"的意思,如:1-9 表示1到9的数字 a-z表示a到z的字母

"^":在字符集里表示"非"的意思,如^[1-9]表示非1-9其余的字符

补充:


浙公网安备 33010602011771号