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))

打印结果如下:

 

由于时间紧张,所以没有认真排版,望读者见谅。祝,生活愉快~

posted @ 2019-03-11 20:59  HeZhengfa  阅读(279)  评论(0编辑  收藏  举报