From Python正则表达式
re.match(pattern, string, flags=0)
尝试从字符串起始位置匹配一个模式;如果不是起始位置匹配成功,则 re.match() 返回none.
匹配成功,re.match() 返回一个匹配的对象,否则返回None.
pattern – 匹配的正则表达式
string – 要匹配的字符串
flags – 标志位,控制正则表达式的匹配方式,如,是否区分大小写,多行匹配等.
e.g.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
print(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配
print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配
output:
(0, 3)
None
re.search(pattern, string, flags=0)
扫描整个字符串并返回第一个成功的匹配.
匹配成功, re.search()返回一个匹配的对象,否则返回None.
e.g.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
print(re.search('www', 'www.runoob.com').span()) # 在起始位置匹配
print(re.search('com', 'www.runoob.com').span()) # 不在起始位置匹配
output:
(0, 3)
(11, 14)
re.match() 只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;
re.search() 匹配整个字符串,直到找到一个匹配.
re.sub(pattern, repl, string, count=0, flags=0)
替换字符串中的匹配项.
pattern – 正则中的模式字符串
repl – 替换的字符串,也可为一个函数
string – 要被查找替换的原始字符串
count – 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配
e.g.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
phone = "2004-959-559
# 删除字符串中的 Python注释
num = re.sub(r'#.*$', "", phone)
print "电话号码是: ", num
# 删除非数字(-)的字符串
num = re.sub(r'D', "", phone)
print "电话号码是 : ", num
output:
电话号码是: 2004-959-559
电话号码是 : 2004959559
正则表达式模式