Python正则

正则表达式

代表的匹配字符

[0-9]

0123456789任意之一

[a-z]

小写字母任意之一

[A-Z]

大写字母任意之一

\d

等同于[0-9]

\D

等同于[^0-9]匹配非数字

\w

等同于[a-z0-9A-Z_]匹配大小写字母、数字和下划线

\W

等同于[^a-z0-9A-Z_]等同于上一条取非

元字符

说明

.

代表任意字符

|

逻辑或操作符

[ ]

匹配内部的任一字符或子表达式

[^]

对字符集和取非

-

定义一个区间

\

对下一字符取非(通常是普通变特殊,特殊变普通)

*

匹配前面的字符或者子表达式0次或多次

*?

惰性匹配上一个

+

匹配前一个字符或子表达式一次或多次

+?

惰性匹配上一个

?

匹配前一个字符或子表达式0次或1次重复

{n}

匹配前一个字符或子表达式

{m,n}

匹配前一个字符或子表达式至少m次至多n次

{n,}

匹配前一个字符或者子表达式至少n次

{n,}?

前一个的惰性匹配

^

匹配字符串的开头

\A

匹配字符串开头

$

匹配字符串结束

[\b]

退格字符

\c

匹配一个控制字符

\d

匹配任意数字

\D

匹配数字以外的字符

\t

匹配制表符

\w

匹配任意数字字母下划线

\W

不匹配数字字母下划线

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

         re.match(pattern, string, flags=0)

         pattern    匹配的正则表达式

         string        要匹配的字符串。

         flags                   标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

         可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

         group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。

         groups()   返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

 

2、re.search 扫描整个字符串并返回第一个成功的匹配。

         re.search(pattern, string, flags=0)

         pattern    匹配的正则表达式

         string        要匹配的字符串。

         flags          标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

 

3、re.match与re.search的区别

         re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

 

4、检索和替换

         Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。

         re.sub(pattern, repl, string, count=0, flags=0)

         pattern : 正则中的模式字符串。

         repl : 替换的字符串,也可为一个函数。

         string : 要被查找替换的原始字符串。

         count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

 

posted @ 2018-08-22 15:24  小驳客  阅读(112)  评论(0)    收藏  举报