正则
python
import re
account_content = "微博账号是:kingname,密码是:12345678,QQ账号是:99999,密码是:890abcd," \
"银行卡账号是:000001,密码是:654321,Github账号是:99999@qq.com,密码是:7777love8888,"
account_password = re.findall('账号是:(.*?),密码是:(.*?),',account_content)
print('包含多个括号的情况下,返回:{}'.format(account_password))
包含多个括号的情况下,返回:[('kingname', '12345678'), ('99999', '890abcd'), ('000001', '654321'), ('99999@qq.com', '7777love8888')]
python
big_string_mutil ='''
我是kingname,维度微博密码是:123
45678,
'''
password_findall_no_flag =re.findall('密码是:(.*?),',big_string_mutil)
possword_findall_flag = re.findall('密码是:(.*?),',big_string_mutil,re.S)
print('不使用re.S的时候:{}'.format(password_findall_no_flag))
print('使用re.S的时候:{}'.format(possword_findall_flag))
不使用re.S的时候:[]
使用re.S的时候:['123\n45678']
python
import re
content = "我的微博密码是:123456,QQ密码是:33445566,银行卡密码是:888888,Github密码是:999abc999,帮我记住他们"
password_list = re.findall(':(.*?),',content)
name_list = re.findall('名字是(.*?),',content)
print('找到内容,返回:{}'.format(password_list))
print('找不到任何内容,返回{}'.format(name_list))
找到内容,返回:['123456', '33445566', '888888', '999abc999']
找不到任何内容,返回[]
先抓大头
python
import re
big_small_text = '''
有效用户:
姓名:张三
姓名:李四
姓名:王五
无效用户:
姓名:不知名的小虾米
姓名:隐身的张大侠
'''
user = re.findall('姓名:(.*?)\n', big_small_text)
print(user)
user_big = re.findall('有效用户(.*?)无效用户', big_small_text, re.S)
print('user_big 的值为:{}'.format(user_big))
user_useful = re.findall('姓名:(.*?)\n', user_big[0])
print('真正有效的人名:{}'.format(user_useful))
['张三', '李四', '王五', '不知名的小虾米', '隐身的张大侠']
user_big 的值为:[':\n姓名:张三\n姓名:李四\n姓名:王五\n']
真正有效的人名:['张三', '李四', '王五']
search
python
import re
content = "我的微博密码是:123456,QQ密码是:33445566,银行卡密码是:888888," \
"Github密码是:999abc999,帮我记住他们"
password_search = re.search('密码是:(.*?),',content)
password_search_not_find = re.search('xxx:(.*?),',content)
print(password_search)
print(password_search.group())
print(password_search.group(0))
print(password_search.group(1))
print(password_search_not_find)
<re.Match object; span=(4, 15), match='密码是:123456,'>
密码是:123456,
密码是:123456,
123456
None