目录
r:Python中字符串前面加上 r 表示原生字符串(rawstring)
我们将 r 添加到字符串前缀。该字符串不需要转义任何东西,使得正则表达式的使用变得更容易。
不使用r,那么匹配时候需要4个反斜杠,正则需要转化一次,python解释器需要转化一次
正则表达式有什么用?
1.检测某个字符串是否符合规则.比如:判断手机号,身份证号是否合法
2.提取网页字符串中想要的数据.比如:爬虫中,提取网站天气,信息,股票代码,星座运势等具体关键字,并提取到MySQL数据库中。
在线测试工具: http://tool.chinaz.com
匹配单个字符,字符组
预定义字符集 | 匹配内容 |
---|---|
. | 匹配任意字符,除了换行符\n |
\d | 匹配数字 |
\D | 匹配非数字 |
\w | 匹配字母或数字或下划线 (正则函数中,支持中文的匹配) |
\W | 匹配非字母或数字或下划线 |
\s | 匹配任意的空白符 |
\S | 匹配任意非空白符 |
\n | 匹配一个换行符 |
\t | 匹配一个制表符 |
[] | 匹配中括号内列举的字符 |
字符组格式 | 说明 [默认必须从字符组中选一个] |
---|---|
[...] | 匹配字符组中的字符 |
[^...] | 匹配除了字符组内所有内容,之外的所有字符 |
字符组内容 | 待匹配字符 | 匹配结果 | 说明 |
---|---|---|---|
[0123456789] | 8 | True | 字符组里枚举的各种字符,必须满足一个,否则返回假,不匹配 |
[abcdefg] | 9 | False | 由于字符组 |