python程序中运用re模块,使用正则
1、findall 查找所有,返回list
str = "你要是没有什么事情,就一起打游戏吧,玩游戏,放松一下嘛"
lst = re.findall('游戏',str)
print(lst)
2、search 会进行匹配,如果匹配到了第一个就返回这个结果
lst = re.search('我',"我的电话我要你记住哟,100233,235242001")
print(lst.group())
3、match 只能从字符串的开头进行匹配
lst = re.match('我的',"我的电话你要记住哟,100233,235242001")
print(lst.group())
4、finditer 和 findall 差不多,只不过这时返回的是迭代器
str = "你要是没有什么事情,就一起打游戏吧,玩游戏,放松一下嘛"
lst = re.finditer('游戏',str)
for i in lst:
print(i.group())
5、compile()可以将一个长长的正则进行预加载,方便后期使用
obj = re.compile('\d{3}')
ret = obj.findall('嘻嘻哈哈1120,嗯嗯111,怕怕223')
print(ret)
若想单独获得正则中的具体内容:分组,起名字
s = """<div class = 'title'><span id = '100'>简笔画</span></div>
<div class = 'main'><span id = '101'>征文主题</span></div>
<div class = 'foot'><span id = '102'>联系电话</span></div>
"""
obj = re.compile("<div class = '(?P<class>.*?)'><span id = '(?P<id>.*?)'>(?P<name>.*?)</span></div>",re.S)
result = obj.finditer(s)
for it in result:
print(it.group("class"))
print(it.group("id"))
print(it.group("name"))
|