整理的正则表达式笔记


最近在学python中的re模块 自己打印了一份正则表达式资料,看了一中午的笔记,拿出来和大家分享

纯文本正则可匹配 i标志 强行不区分大小写
c.t 匹配 cat cbt。。。。 .匹配任意单个字符
..任意两个字符
[ab]只匹配ab
[a-zA-Z0-9]
取色#[a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9]
改良取色#[a-fA-F0-9]{6}
[^0-9]非匹配
[0-9]反斜线转义匹配方括号
\d任意数字 \D非数字
\w 等价于[a-zA-Z0-9_] \W非w
匹配邮箱:\w+@\w+.\w+ ok
改良匹配邮箱:[a-zA-Z0-9]\w+@\w+.\w+[a-zA-Z] ok
+匹配一个或多个
*匹配0个到多个
?匹配0个或1个
http://[\w./]+ 匹配网站

\s任意空白字符

\x 16 \0 8进制
\b+匹配连续多个字符
(?m)将换行符视为分隔符 将每一行字符串匹配出来
{5}重复五次
{2,4}2-4次
{2,}至少2次

贪婪型 * 、+、{123}
懒惰型 *?、+?、{123}?

\b单词边界
\B?????????????????
^字符串开头
$字符串结尾

(\w+)\1回溯引用
向前查找 .+(?=:)找:前面的东西并且不包含:!!!!
?<=向后查找
(“.://.”)爬取网页 未验证

import requests
import re
r = requests.get(“http://www.baidu.com/s?wd=qqwe%40163.com&rsv_spt=1&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&inputT=5722&rsv_t=c848L7Xor4vFhEoVV9GPzZr2MuYMzFl1%2FETo9cY0rHjXNql5QbkRcKTrFd5hVllmdRaP&rsv_sug3=23&rsv_sug1=14&rsv_sug2=0&rsv_sug4=7428“)

url

res=re.findall(r’(http://.*?)”’,r.text)

color

res=re.findall(r’#[a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9][a-fA-F0-9]’,r.text)

res=re.findall(r’#[a-fA-F0-9]{6}’,r.text)

mail

res=re.findall(r’[a-zA-Z]\w+@\w+.\w+[a-zA-Z]’,r.text)

print(r.text)

url2

res=re.findall(r’https?://[\w./]+’,r.text)

domain

res=re.findall(r’http?://[\w./]+/’,r.text)

img

res=re.findall(r’

相关文章

一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字...
正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。下面整理一些常用的正则...
0. 注: 不同语言中的正则表达式实现都会有一些不同。下文中的代码示例除特别说明的外,都是使用JS中的...
 正则表达式是从信息中搜索特定的模式的一把瑞士军刀。它们是一个巨大的工具库,其中的一些功能经常...
一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数...
\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n...