正则表达式的介绍
正则表达式:正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,构成一种规则,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
主要使用的方法
re正则表达式通常使用match的方法
re.match(pattern,str) #pattern为自定义的规则,str是要检验的字符串
如果re.match()返回的结果不为None,则可以通过group方法对其进行数据提取
正则表达式用法介绍
单字符匹配规则
· 匹配任意一个字符(除了\n)
[] 匹配[]中列举的字符
\d 匹配数字,0-9
\D 匹配非数字,除了0-0以外的字符
\s 匹配空白字符(空格、\tab这些)
\S 匹配非空白字符
\w 匹配单词字符(a-z、A-Z、0-9、_)
\W 匹配非单词字符
注意:在自定义规则的时候(pattern中),为了避免转义字符减少"\",我们可以使用r原始字符串,能够很好地保护原字符串
例如:pattern = r"\\str"
表示数量的规则
* 匹配前一个字符出现0次或者无限次
+ 匹配前一个字符出现1次或者无限次,直到出现一次
? 匹配前一个字符出现1次或者0次
{m} 匹配前一个字符出现m次
{m,} 匹配前一个字符至少出现m次
{m,n} 匹配前一个字符出现m到n次
表示边界的规则
^ 匹配字符串开头
$ 匹配字符串结尾
\b 匹配一个单词的边界
\B 匹配非单词边界
表示匹配分组
| 匹配左右任意一个表达式
(ab) 将括号中的字符作为一个分组
\num 引用分组num匹配到的字符串
(?P<name>) 分组起别名
(?P=name) 引用别名为name分组匹配到的字符串