一 正则表达式
1.1 简介
正则表达式是一个特殊的字符序列,能方便的检查一个字符串是否与某种模式匹配
re 模块使 Python 语言拥有全部的正则表达式功能
1.2 re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
函数语法:
re.match(pattern, string, flags=0)
函数参数说明
pattern 匹配的正则表达式
string 要匹配的字符串。
flags 标志位,用于控制正则表达式的匹配方式
匹配成功re.match方法返回一个匹配的对象,否则返回None
实例
#!/usr/bin/python
#-*- coding: UTF-8 -*-
import re
print(re.match('www', 'www.runoob.com').span())#在起始位置匹配
print(re.match('com', 'www.runoob.com'))#不在起始位置匹配
以上实例运行输出结果为:
(0, 3)
None
1.3 re.search方法
re.search 扫描整个字符串并返回第一个成功的匹配。
函数语法:
re.search(pattern, string, flags=0)
函数参数说明:
pattern 匹配的正则表达式
string 要匹配的字符串。
flags 标志位,用于控制正则表达式的匹配方式
匹配成功re.search方法返回一个匹配的对象,否则返回None
实例
#!/usr/bin/python
#-*- coding: UTF-8 -*-
import re
print(re.search('www', 'www.runoob.com').span())#在起始位置匹配
print(re.search('com', 'www.runoob.com').span())#不在起始位置匹配
以上实例运行输出结果为:
(0, 3)
(11, 14)
1.4 正则表达式实例
1.4.1 字符类
- [0-9] 匹配任何数字。类似于 [0123456789]
- [a-z] 匹配任何小写字母
- [A-Z] 匹配任何大写字母
- [a-zA-Z0-9] 匹配任何字母及数字
- [^aeiou] 除了aeiou字母以外的所有字符
- [^0-9] 匹配除了数字外的字符
1.4.2 特殊字符类
- 匹配除 “\n” 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用象 ‘[.\n]’ 的模式
- \d 匹配一个数字字符。等价于 [0-9]
- \D 匹配一个非数字字符。等价于 [^0-9]
- \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]
- \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]
- \w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’
- \W 匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]’