Python中关于使用正则表达式相关的部分笔记
一点点自己记的笔记,如果各位朋友看不懂,可以在评论区留言,会尽可能快的回复。
所有的知识点全部贴在代码上了,注释也写了。 建议大伙把代码拷到自己的机器上,运行,查看结果,然后,结合注释,再自己稍稍理解下,就能掌握了。
我觉得正则一点都不难,花点心思就学会了,真的,要不是字数凑不够150字,我才不会闲着在这打这么久的字!!!啊啊啊!! 加油!! 读者们!!!
import re content = '我的171723微博密码是:1234567, QQ密码是:33445331, 银行卡密码是:888888, Github密码是:99abdd133,帮我记住它们' account_content = '我的微博账号是:hzf123456, 密码是:1234567, QQ账号是:978742221, 密码是:33445331, 银行卡账号是:62178576, 密码是:888888, Github账号是:Farggle, 密码是:99abdd133,帮我记住它们' big_string_mutil = ''' 我是kingname,我的微博密码是123 45678, ''' #匹配所有的以:开始,以,结尾的字符串(括号的作用是用于过滤掉不相干的字符串,本例中为":"和","),以列表的形式返回这些结果(看打印内容) password_list = re.findall(':(.*?),', content) print(password_list) #与上面类似,注意看打印的结果 account_list = re.findall('账号是:(.*?), 密码是:(.*?),', account_content) print(account_list) #以下是是否用findall()函数的第三个参数的区别 password_find_noflag = re.findall('密码是(.*?),', big_string_mutil) print('不用re.flag的输出:',password_find_noflag) password_find = re.findall('密码是(.*?),', big_string_mutil, re.S) print('用了re.flag的输出:', password_find) #search是只匹配第一个符合正则表达式的字符串,返回结果是一个re.Match object password_search = re.search('密码是(.*?),', content) print(password_search) #group返回匹配的字符串,参数为空或者为0时,返回整个字符串,为1时返回第一个括号内的内容, #为2时返回第二个括号内的内容,以此类推。。。 print(password_search.group(0)) print(password_search.group(1)) account_search = re.search('账号是:(.*?), 密码是:(.*?),',account_content) print(account_search.group(0)) print(account_search.group(1)) print(account_search.group(2))
打印结果如下:
由于时间紧张,所以没有认真排版,望读者见谅。祝,生活愉快~