re moudle 是python定义正则表达式的模块
用法:result = re.match(正则表达式,要匹配的字符串)
re.match 是用来进行正则匹配检查方法,若字符串匹配正则表达式,则match方法的返回匹配对象(Match Object),否则返回None
匹配对象Match Object具有group方法,用来返回字符串的匹配部分
注意:match方法是默认为字符串从左往右一次进行比对 当什么占位符都没有的时候,从左一次比对,比对完正则表达式之后剩下的部分就全部加载
字符 功能
- . 表示占位符,匹配任意一个字符(除了\n)
- [] 表示匹配[]中列举的字符 可以完全替代其他字符 例如:\d == [0-9] \D[^0-9]
- \d 表示匹配的是数字,0-9
- \D 表示匹配非数字 即不是数字
- \s 表示匹配空白,即空格 tab等
- \S 表示除空白
- \w 表示匹配单词字符,即a-z,A-Z,0-9,_
- \W 表示匹配非单词字符
-
数量
- * 表示匹配前一个字符出现0次或者无限次
- + 匹配前一个字符出现1次或者无限次
- ? 匹配前一个字符出现1次或者0次 即 要每出现一次 要么没有
- {m} 匹配前一个衣服出现m次
- {m,} 匹配前一个字符至少出现m次
- {m,n} 匹配前一个字符出现从m到n次
注意:在正则表达式前面加上r就会完成正则表达式中的转义
-
表示边界
- ^ 表示匹配字符串开头
- $ 表示匹配字符串结尾
- \b 表示匹配一个单词的边界(是空格或者开头结尾)
- \B 表示匹配非单词边界(非空格开头结尾)
-
匹配分组:
| 表示匹配左右任意一个表达式(表示或的意思左右两边都是等价的正则表达式)例:匹配0-100 re.match(r"^[1-9]\d?|100&")
(ab) 表示将括号中字符作为一个分组
\num 表示引起分组num分配到的字符串
(?p<name>)分组起别名
(?P=name)引用别名为name分组匹配到的字符串