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 表示替换所有的匹配。

浙公网安备 33010602011771号