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}') #将正则表达式编译成为一个正则表达式对象,规则是:要匹配连续的3个数字
ret = obj.findall('嘻嘻哈哈1120,嗯嗯111,怕怕223') #正则表达式对象调用search,参数为待匹配的字符串
print(ret)
若想单独获得正则中的具体内容:分组,起名字
s = """简笔画
征文主题
联系电话
"""
obj = re.compile("(?P.*?)",re.S) #re.S 可以让.匹配任何东西
result = obj.finditer(s)
for it in result:
# print(it.group())
print(it.group("class"))
print(it.group("id"))
print(it.group("name"))
