第一步:导包
import re
* re 是 "regular expression"的首字母缩写
第二步:选择数据源
数据在实际开发中是从各种平台爬取获得,爬取的数据可以直接进行正则表达式过滤,也可先保存到文本文件中再做处理
文件读取操作https://blog.csdn.net/m0_64825044/article/details/135317440
第三步:设计正则表达式
根据正则表达式的写法,设计所需要的匹配规则
正则表达式的使用https://blog.csdn.net/m0_64825044/article/details/135316044
第四步:选用合适的方法
re.findall(pattern, string, flags=0)
re.search(pattern, string, flags=0)
re.match(pattern, string, flags=0)
pattern表示正则表达式,string表示原来的字符串,flags表示一些特殊功能的标志。
re.findall
获取所有匹配的字符串
结果以列表或元组(正则表达式包含多个括号的情况下)的形式展示
re.search
获取第一个匹配上的字符串
结果获取方法:
import re
content='我的微博密码是:1234567.QQ密码是:33445566,银行卡密码是:888888.Github密码是:999abc999,帮我记住他们'
password_search = re.search('密码是:(.*?),', content)
print(password_search)
print(password_search.group())
print(password_search.group(0))
print(password_search.group(1))
结果
注意事项
只有在.group()里面的参数为1的时候,才会把正则表达式里面的括号中的结果打印出来。
.group()的参数最大不能超过正则表达式里面括号的个数。参数为1表示读取第1个括号中的内容,参数为2表示读取第2个括号中的内容,以此类推。
re.match
从头开始匹配,只返回第一个匹配到的结果,只要开头没有匹配上就结束匹配
re.S
re.S忽略换行符,一般情况下只会匹配到字符串结尾或换行符前面,加上re.S参数后即可匹配换行符后面的内容