【Python】基础部分 -- 常用模块 -- re 正则

1.    re  正则

1)   匹配语法

       re.match(pattern ,string)      从头开始匹配,一匹配不到就跳过

       re.search(pattern ,string)      匹配包含,匹配到一次就返回

       re.findall(pattern ,string)      把所有匹配到的字符放到列表中并返回,返回所有匹配到的结果

       re.split(pattern ,string)  以匹配到的字符当作列表分隔符

       re.sub(pattern,new ,string)   匹配字符并替换

       re.fullmatch(pattern,string,flags=0)     全部匹配

       re.compile(pattern,flags=0)  生成一个规则对象pattern, 加速规则匹配

 

2)   常用表达式规则

       '.'     默认匹配\n之外的任意一个字符

       '^'   匹配字符开头等于 .match

       '$'    匹配字符结尾

       '*'    匹配*号前的字符0次或多次

       '+'   匹配前一个字符1次或多次

       '?'    匹配前一个字符1次或0次

       '{m}' 匹配前一个字符m次

       '{n,m}'     匹配前一个字符n至m次

       '|'     匹配 左 或 右 的字符

       '( )'   把规则分组并匹配

      

       '\A'  只从字符开头匹配

       '\Z'  匹配字符结尾,同$

       '\d'  匹配数字0-9

       '\D'  匹配非数字

       '\w'  匹配大小写字母或数字

       '\W' 匹配特殊符号(非字母或数字)

       '\s'   匹配空白字符或\t \n \r

 

       '(?P<name>... )'     分组匹配同时让字符串分割成字典

      

3)   特殊字符转义

       ‘\|’‘\.’‘\$’ ‘\*’‘\+’‘\?’‘\^’

       特别:\转义则为‘\\\\’

 

4)   flags标识符

       re.l 或 re.IGNORECASE: 忽略大小写

       re.M 或 re.MUTILINE:多行模式,改变'$'和'^'的行为

       re.S 或 re.DOTALL: 改变‘.’的行为,支持匹配\n

       re.X 或 re.VERBOSE :给表达式写注释 #后表示注释

 

       ps: 找到最层的小括号:'\([^()]+\)'

posted @ 2018-05-31 18:12  caya  阅读(84)  评论(0编辑  收藏  举报