python——RE模块的基础应用及正则表达式的使用
Posted booksxx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python——RE模块的基础应用及正则表达式的使用相关的知识,希望对你有一定的参考价值。
python——RE模块的基础应用及正则表达式的使用
Python re模块
re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。
- re模块是python独有的
- 正则表达式所有编程语言都可以使用
- re模块、正则表达式是对字符串进行操作
注意点:正则表达式会对特殊字符进行转义,如果要保持原模样,只需加个r前缀。例如:r‘ hello-
world‘
禁止转义!反斜杠不会被任何特殊方式处理。
Python编译器用‘’(反斜杠)来表示字符串常量中的转义字符。
如果反斜杠后面跟着一串编译器能够识别的特殊字符,那么整个转义序列将被替换成对应的特殊字符(例如,‘ ’将被编译器替换成换行符)
本质上来讲,使用r,你在告诉编译器完全不要去干涉你的字符串
常见转义符
元字符
元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。
字符 | 说明 |
---|---|
. | 匹配除换行符以外的所有字符 |
[...] | 匹配字符集 |
w | 匹配字母、数字及下划线_ ,等价于[A-Za-z0-9_] |
W | 匹配所有与w不匹配的字符(取反) |
s | 匹配单个空格符、包括tab键和换行符 |
S | 匹配除单个空格之外的字符 |
d | 匹配从0到9的数字,等价于[0-9] |
D | 匹配非数字 |
^ | 匹配输入字符串开始的位置 |
$ | 匹配输入字符串结尾的位置 |
限定符(重复)
限定符用来限定一个目标子表达式要重复出现多少次才匹配成功
限定符 | 说明 |
---|---|
* | 匹配前面的字符0次或多次 |
+ | 匹配前面的字符1次或多次 |
? | 匹配前面的字符0次或1次 |
{n} | 匹配前面的字符n次 |
{n,} | 匹配前面的字符至少n次 |
{n,m} | 匹配前面的字符至少n次,最多m次 |
字符串转义:
www.baidu.com
www.baodu.com
贪婪与非贪婪
贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。
非贪婪匹配:就是匹配到结果就好,最少的匹配字符。
默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式。
字符 | 说明 |
---|---|
* | 允许前一个字符可以出现0次或者无数次 |
+ | 前一个字符至少出现1次 |
? | 前一个字符只能出现一次或者不出现 |
{n} | 允许前一个字符只能出现n次 |
{n,m} | 允许前一个字符出现n到m次 |
{n, } | 允许前一个字符至少出现n次 |
转义符
转义字符 | 描述 |
---|---|
(在行尾时) |
续行符 |
\\ |
反斜杠符号 |
‘ |
单引号 |
" |
双引号 |
a |
响铃 |
|
退格(Backspace) |
e |
转义 |
|