正则表达式
1、什么是正则表达式(语法通用)
正则表达式是一种用来做字符串匹配的工具,通过不同的符号匹配不同的字符。
2、python对正则表达式的支持
通过re模块提供相应正则表达式的方法。
import re
fullmatch(正则表达式, 字符串)
用正则表达式来和指定字符串进行匹配,如果匹配成功返回对象,匹配失败返回None。
符号 | 功能 |
---|---|
. | 匹配任意字符,1个点代表1个任意字符,不能批\n |
\w | 字母数字下划线中文 |
\s | 匹配空白字符,空格,缩进,换行 |
\d | 匹配数字字符 |
\b | 检测正则表达式中\b所在的位置是否是单词边界(所有可以将两个单词区分开的符号都是) |
^ | 检测字符串开头 |
$ | 检测字符串结尾 |
\B | 检测非单词边界 |
\W | 匹配非数字字母下划线中文 |
\S | 匹配非空白字符 |
\D | 匹配非数字字符 |
[字符集] | 一个[]代表一个字符,匹配字符集中的任意一个字符;表示范围[0-9][a-z] |
[^字符集] | 放在最前面,匹配没有在字符集中的其他任意字符;不放在最前面就表示字符本身 |
\ | 正则中也可以通过在特殊符号前加''来对符号进行转义* |
* | 指定的字符出现0次或多次 |
+ | 匹配1次或多次 |
? | 匹配0次或者1次 |
{M,N} | 匹配M到N次 |
{M,} | 匹配至少M次 |
{,N} | 匹配最多N次 |
{N} | 匹配N次 |
- 除了在中括号有特殊意义的符号,其他符号放在[]中也是表示符本身
- : 在中括号的两个媳妇之前表示谁到谁;如果想要表示它本身就不要放在两个字符之间
^ :在中括号中的最前面有特殊意义;如果想要表示它本身就不要放在最前面
[] :在中括号中表示[],要加\
分之和分组
符号 | 说明 |
---|---|
表达式1|表达式2 | 先用表达式1匹配,匹配成功直接成功,不成功使用表达式2 |
() | 分组(将括号里面的内容看成一个整体) |