Python 正则表达式

正则表达式:

用事先定义好的一些特殊字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

用来过滤字符串数据,只要是字符串,都可以用正则来处理它。

在py文件中设置代码的编码格式 # -*- coding: utf-8 -*- 就是必须符合一定的正则规范语句。

一、元字符

本身具有特殊含义的字符,叫元字符。

常用的元字符:点. 脱字符^ 美元符$ 大括号{} 中括号[] 星号* 加号+ 问号? 管道符|

(一).点"."

通配元字符,除" "换行符外,匹配任意一个字符。

(二).锚点元字符"^"、"$"

(1).锁定行首:^(shift+6) 有些案例中,也被作为取反。

(2).锁定行尾:$(shift+4)

(三).重复元字符

(1).星号*:匹配一个字符出现0次或多次,即:可有可无。"*"也占了一位。

(2).加号+:匹配一个字符一次或多次,至少出现一次。

(3).大括号{}:{N}N个;{M,N}M-N个;{M,}至少M个。

(四).中括号[]

选择括号内多个字符中的一个。

(1).范围:[b-d],等价于[b,c,d]

(2).取反字符:[^...]

(五).管道符|

二选一:匹配左右两个正则表达式中的一个。

二、预定义字符

(一).d 任意一个数字,等价于 [0-9]

(二).D 任意一个非数字,等价于 [^0-9]

(三).s 任意一个空白字符,等价于 [ fx0B]

(四).S 任意一个非空白字符,等价于 [^ fxOB]

(五).w 任意一个字母数字字符,等价于 [a-zA-Z0-9]

(六).W 任意个一个非字母数字字符,等价于 [^a-zA-Z0-9]

三、分组

(一).管道符|:匹配左右任意一个表达式

(二).(ab):将括号中字符作为分组

(三). um:引用分组num匹配到的字符串

(四).(?P<name>):为分组起别名

(五).(?P=name):引用为name的分组

四、常用的一些方法

(一).re.compile(),编译

(二).re.match(),从头找一个

(三).re.search(),找一个

(四).re.findall(),找所有

(五).re.sub(),替换

原文地址:https://www.cnblogs.com/quanquan616/p/8877264.html