以下是个人笔记仅供参考!
介绍
re 模块:
re模块是Python里的正则表达式模块,在网络爬虫中常用模块之一。
相关函数:
re.match
re.match的函数原型为:re.match(pattern, string, flags)
match() 函数只检测 re 是不是在string的开始位置匹配,只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功就返回 None
import re
text = 'HelloPython'
m = re.match(r"\w+", text)
if m:
print m.group(0)
else:
print 'not match'
输出:HelloPython
\w : 匹配任意数字和字母:[a-zA-Z0-9]
\+ :1 个或多个字符(贪婪匹配)
#如果把text修改成 *HelloPython,则输出not match了。因为在0个位置没有匹配到并且有符号;
re.search
re.search的函数原型为: re.search(pattern, string, flags)
会扫描整个字符串并返回第一个成功的匹配
import re
text = 'HelloPython'
m = re.search(r"\w+", text)
if m:
print m.group(0)
else:
print 'not match'
输出:HelloPython
#如果把text修改成 *HelloPython,还是输出HelloPython。因为会扫描整个string串中查找;
re.sub
re.sub的函数原型为:re.sub(pattern, repl, string, count)
re.split
可以使用re.split来分割字符串。
re.findall
返回一个列表的所有重叠匹配的字符串。(Return a list of all non-overlapping matches in the string.)
re.compile
可以把正则表达式编译成一个正则表达式对象。可以把那些经常使用的正则表达式编译成正则表达式对象,这样可以提高一定的效率。( Compile a regular expression pattern, returning a pattern object.)