正则

发布时间 2023-04-27 14:54:52作者: 卡卡罗安

正则是一门编程语言

\d+ 是替换数字

替换结果为tool.123.com|123

\w+替换数字和字母

替换为apple.apple.apple|apple

【1】元字符(Metacharacters)

元字符是具有特殊含义的字符。

元字符 描述
  [] 匹配一个中括号中出现的任意一个元字符
[^元字符] 匹配一个没有在中括号出现的任意元字符
\ 转义字符,可以把原子转换特殊元字符,也可以把特殊元字符转成元字符
^ 叫开始边界符或开始锚点符,匹配一行的开头位置
$
叫结束边界符或结束锚点符,匹配一行的结束位置I
. 叫通配符、万能通配符或通配元字符,匹配1个除了换行符In以外任何元字符
* 叫星号贪婪符,指定左边元字符出现0次或多次
? 叫非贪婪符,指定左边元字符出现0次或1次+
+ 叫加号贪婪符,指定左边元字符出现1次或多次{n,m}
{n,m} 叫数量范围贪婪符,指定左边元字符的数量范围,有{n},{n,},{(,m},{n,m}四种写法,其中n与m必须是非负整数。
| 指定元字符或正则模式进行二选一或多选一0
()
对元字符或正则模式进行捕获提取和分组划分整体操作,
import re
"""re.findall(正则模式,文本) 基于正则模式查找所有匹配的文本内容"""
# part1: 通配符-> . 字符集-> []
ret1 = re.findall("a", "a,b,c,d,e,a")
ret1 = re.findall(".", "a,b,c,d,e")
ret1 = re.findall("a.b", "a,b,c,d,e,acb,abb,a\tb")
ret1 = re.findall("[ace]", "a,b,c,d,e") # 字符集是集合  是一个符号
ret1 = re.findall("a[bce]f", "af,abf,abbf,acef,aef")
ret1 = re.findall("[a-zA-Z]", "a,b,c,d,e,A,B,C,D,E,F")
ret1 = re.findall("[0-9]", "a,b,2,d,6,8,A,B,C")
ret1 = re.findall("[^0-9]", "a,b,2,d,6,8,A,B,C") # ^ 取反
ret1 = re.findall("\d", "a,b,2,d,6,8,A,B,C")
ret1 = re.findall("[a-zA-Z0-9]", "a,b,2,d,6,8,A,B,C")
ret1 = re.findall("\w","a,b,2,d,6,8,A,B,C")
print(ret1)