正则表达式

正则表达式:可以理解为是在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其余的字符

 补充:

 

posted @ 2017-06-05 18:46  7788碎片  阅读(42)  评论(0)    收藏  举报