Python正则表达式

一个点号可以代替除了换行符以外的任何一个字符,包括但不限于英文字母、数字、汉字、英文标点符号和中文标点符号
一个星号可以表示它前面的一个子表达式(普通字符、另一个或几个正则表达式符号)0次到无限次。
问号表示它前面的子表达式0次或者1次
反斜杠,将特殊符号变成普通符号。
数字用\d来表示
()小括号用来提取内容
Python正则表达式模块为re import re

findall

Python的正则表达式模块包含一个findall方法,它能够以列表的形式返回所有满足要求的字符串。

Python正则表达式_第1张图片

 

import re
content='我的微博密码是:1234567,QQ密码是:33445566,'
password=re.findall(':(.*?),',content)
name_list=re.findall('名字是(.*?)',content)
print("")
print('找到内容,返回:{}'.format(password))
print('找不到任何内容,返回{}'.format(name_list))

Python正则表达式_第2张图片

search

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

Python正则表达式_第3张图片

“.*”和“.*? ”的区别

“.*”表示匹配一串任意长度的字符串任意次

Python正则表达式_第4张图片 

 

你可能感兴趣的:(爬虫,正则表达式)