四、正则表达式
- 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”用来表达对字符串的一种过滤逻辑。
4.1 match 对象
- 特点:从第一个字符开始匹配,若第一个字符不符合则等于匹配不到
- match(pattern,string,flags=0)
- 第一个参数是正则表达式,如果匹配成功,则返回一个mach对象,否则返回一个None
- 第二个参数表示要匹配的字符串
- 第三个参数是标志位用于控制正则表达式的匹配方式。如:是否区分大小写,多行匹配等。
4.2 match对象的主要方法
方法 |
功能 |
group() |
返回匹配到的字符串 |
start() |
返回匹配开始位置 |
end() |
返回匹配结束位置 |
span() |
返回匹配到的坐标 |
4.2 匹配普通字符
- 字⺟、数字、汉字、下划线、以及没有特殊定义的符号,都是"普通字符"。
import re
pattern='python'
string='python and java'
result=re.match(pattern,string)
print(result)
if result:
print(result.group())
print(result.start())
print(result.end())
print(result.span())
else:
print("没有匹配到")
4.3 元字符
- 正则表达式中使⽤了很多元字符,⽤来表示⼀些特殊的含义或功能
表达式 |
匹配 |
. |
小数点可以匹配除了换行符\n以外的任意一个字符 |
(竖的) |
逻辑或操作符 |
[] |
匹配字符集中的一个字符 |
[^] |
对字符集求反,也就是上面的反操作。尖号必须在方括号里的最前面 |
- |
定义[]里的一个字符区间,例如[a-z] |
|对紧跟其后的一个字符进行转义 |
|
() |
对表达式进行分组,将圆括号内的内容当作一个整体 |
\r,\n |
匹配回车和换行符 |
\t |
匹配制表符 |
\ |
匹配斜杆 |
^ |
匹配^符号 |
$ |
匹配$符号 |
. |
匹配小数点. |
? |
匹配问号 |
* |
匹配星号 |
( |
匹配左括号 |
) |
匹配右括号 |
import re
result=re.match