正则表达式 Python提供的机制是存放在re模块下
一、正则表达式常用的方法:
**1.将正则表达式的语法生成对应的正则对象**
正则对象 = compile(正则表达式语法)
**2.match(待校验的字符串)**
如果正则表达式中没有设置^开头和$结尾限制这种操作 match的作用类似于验证待校验字符串是否以正则表达式对应的字符串内容开头
如果正则表达式中设置了^开头和$结尾限制这种操作 match的作用检查待校验的字符串的整体内容是否符合正则表达式的语法
如果满足要求的 返回的Match对象 否则返回None
**3.search(待查询的字符串)**
在待查询的字符串中查找是否有满足正则表达式的子串 如果有返回查找到的第一个子串对应的匹配Match对象
如果没有返回None
**4.findall(待查询的字符串)**
在待查询的字符串中查找是否有满足正则表达式的子串
**5.finditer(待查询的字符串)**
在待查询的字符串中查找是否有满足正则表达式的子串 将检验到的数据对应的Match对象放在迭代器中
**6.split(待切割的字符串)**
在待切割的字符串中以正则表达式对应的内容为切割符 对字符串进行切割
**7.sub(新子串,待查找的字符串)**
替换的操作
**8.subn**
返回的是元组
(替换之后的新字符串, 替换的次数)
正则表达式的语法
[0-9] --- 0-9中任意一个数字
[a-zA-Z] --- 英文字符中的任意一个
[0-9a-zA-Z_] --- 数字 字母 下划线中的任意一个
[a-cmpk] -- abcmpk中的任意一个
[^abc]---除了abc之外的任意一个字符
[+\-*/]----加减乘除
[a-z]* --- 小写字母连续出现任意个
\d --- 表示的是0-9中任意一个字符
相当于[0-9]
\D --- [^0-9]表示的是除了0-9中任意一个字符
\w --- 数字字母下划线和汉字中的任意一个
\W --- 非数字字母下划线和汉字中的任意一个
\s ---- 表示的是任意空白字符中的一个
\S ----非任意空白字符中的一个
边界匹配
^x --- 表示以x开头
x$ --- 表示的是以x结尾
\Ax --- 以x开头
x\Z --- 以x结尾
视作多行的模式下 会有区别
^ -- 匹配的是每一行的行首
\A -- 匹配字符串的开头
$-- 匹配的是每一行的行尾
\Z -- 匹配字符串的结尾
\b --- 单词的边界
\B --- 单词非边界
x* --- 表示x连续出现任意次 [可有可无]
x+ --- 表示x连续出现至少1次
x? ---- 表示x最多出现1次
x{m,n}
表示x最少连续出现m次 最多连续出现n次
x{m,}
表示x最少连续出现m次
x{m}
表示x必须连续出现m次
+ * 贪婪匹配
限制贪婪
+? *?
| --- 表示的是或者的意思
(数据1|数据2|数据3)
在数据1 数据2 数据3中任选其一