【Python58--正则2】

时间:2024-01-15 09:47:44

一、字符匹配

1、元字符:完整列表:.   ^   $   *   +   ?   { }   [ ]   \   |   ( )

元字符     描述

.点      匹配除换行符外任意一个字符

x|y      匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。

[^a-z]     负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。

[a-z]     字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符

举例:

元字符:|

>>> import re
>>> re.search(r'Fish(C|D)','FishC')
<re.Match object; span=(0, 5), match='FishC'>
>>> re.search(r'Fish(C|D)','FishD')
<re.Match object; span=(0, 5), match='FishD'>
>>> re.search(r'Fish(C|D)','FishE')
>>> 匹配FishC FishD可以成功,匹配FishE匹配不成功
元字符:^

>>> re.search(r'^FishC','I love FishC.com')
>>> re.search(r'^FishC','FishC.com')
<re.Match object; span=(0, 5), match='FishC'>
>>>
^ 脱字符,匹配字符串的开始位置
第一条是匹配不到FishC的,因为需要匹配的FishC不在开始位置
第二条匹配到了FishC,因为需要匹配的FishC在开始位
元字符:$

>>> re.search(r"FishC$","FishC.com!")
>>> re.search(r"FishC","I love FishC")
<re.Match object; span=(7, 12), match='FishC'>
>>> 匹配的是字符串的结束为止