. 匹配任意的单个字符 ...匹配三个任意字符
^以。。的内容开头搜索
$以。。做结尾 搜索 比如jpg$,以jpg结尾匹
*匹配前面的字符出现0到多次 如ca*t a多次出现
+1-多次
?0-1ci
{m} 前边的字符要出现指定的次数 或{m,n}
[ ] 内任意字符匹配成功,都算匹配成功[0-9]+
| 匹配左边或右边
以上为单个的
p = re.compile("cat")
p.match("afjlkjfacat")
转义符号:
/d 我们匹配的内容是一串数字
/D 匹配不包含数字的 如提取123-456-789
/s 匹配的是一个字符串a-z
( ) 进行分组 功能强大 如(2018)-(03)-(04) group取某部分匹配结果,groups全都取 (03|04) 元组 正则分组功能
^$ 表示这一行是空行
.*?不适用贪婪模式 abbccccd 会匹配多个c。ab*d。但是加?后,只匹配一个c
r 前面的标记 不转义
元字符匹配
p = re.compile("cat")
p.match("afjlkjfacat") //一一对应匹配
不一一完全匹配:搜索功能
match-search写法一样,匹配方式不一样。
sub() 字符串替换。跟着三个参数:1 匹配规则,2 替换成的内容 3 将要替换的字符串
实用的例子:
phone = "123-4567-8900 # 这是电话号码"
p = re.sub('#.*$','',phone)
p1=re.sub('\D','',p)
findall() 能匹配多次
还有更多,请看官方文档
^以。。的内容开头搜索
$以。。做结尾 搜索 比如jpg$,以jpg结尾匹
*匹配前面的字符出现0到多次 如ca*t a多次出现
+1-多次
?0-1ci
{m} 前边的字符要出现指定的次数 或{m,n}
[ ] 内任意字符匹配成功,都算匹配成功[0-9]+
| 匹配左边或右边
以上为单个的
p = re.compile("cat")
p.match("afjlkjfacat")
转义符号:
/d 我们匹配的内容是一串数字
/D 匹配不包含数字的 如提取123-456-789
/s 匹配的是一个字符串a-z
( ) 进行分组 功能强大 如(2018)-(03)-(04) group取某部分匹配结果,groups全都取 (03|04) 元组 正则分组功能
^$ 表示这一行是空行
.*?不适用贪婪模式 abbccccd 会匹配多个c。ab*d。但是加?后,只匹配一个c
r 前面的标记 不转义
元字符匹配
p = re.compile("cat")
p.match("afjlkjfacat") //一一对应匹配
不一一完全匹配:搜索功能
match-search写法一样,匹配方式不一样。
sub() 字符串替换。跟着三个参数:1 匹配规则,2 替换成的内容 3 将要替换的字符串
实用的例子:
phone = "123-4567-8900 # 这是电话号码"
p = re.sub('#.*$','',phone)
p1=re.sub('\D','',p)
findall() 能匹配多次
还有更多,请看官方文档