一个点号可以代替除了换行符以外的任何一个字符,包括但不限于英文字母、数字、汉字、英文标点符号和中文标点符号
一个星号可以表示它前面的一个子表达式(普通字符、另一个或几个正则表达式符号)0次到无限次。
问号表示它前面的子表达式0次或者1次
反斜杠,将特殊符号变成普通符号。
数字用\d来表示
()小括号用来提取内容
Python正则表达式模块为re import re
Python的正则表达式模块包含一个findall方法,它能够以列表的形式返回所有满足要求的字符串。
- import re
- content='我的微博密码是:1234567,QQ密码是:33445566,'
- password=re.findall(':(.*?),',content)
- name_list=re.findall('名字是(.*?)',content)
- print("")
- print('找到内容,返回:{}'.format(password))
- print('找不到任何内容,返回{}'.format(name_list))
search()的用法和findall()的用法一样,但是search()只会返回第1个满足要求的字符串。
对于结果,如果匹配成功,则是一个正则表达式的对象;如果没有匹配到任何数据,就是None。如果需要得到匹配到的结果,则需要通过.group()这个方法来获取里面的值
- import re
- content='我的微博密码是:1234567,QQ密码是:33445566,'
- password=re.search('密码是:(.*?),',content)
- name_list=re.search('名字是(.*?)',content)
- print(password)
- print("hh"+password.group())
- print(password.group((0)))
- print(password.group(1))
“.*”表示匹配一串任意长度的字符串任意次