正则匹配(Python)

1. ‘?’

1.1

0-1 个字符

1.2 放在末尾,两个对等字符之间

对等字符: 
    所有称得上是括号的字符:左右对称
    所有非括号字符: 自对称

最小对等字符匹配

比如<.*?>匹配下文
<<h1>title<h1>>

最小结果只有<h1> <h2>
顺带地,当有多个匹配结果时,
m=re.search(...)

m.group(N) 返回第N组括号匹配的字符。(只需要一组结果时,用m.group(1)即可)
m.group() == m.group(0) == 所有匹配的字符 !!
m.groups() == (m.group(1), m.group(2), ...)

注意匹配的组数由模式决定!!
m=re.search('[a-z](.*b)(.*c)','abcd')
有两个(...),所以匹配模式是2
即:m.group(): ('b','c')
   m.group(0) 'abc'
   m.group(1) 'b'
   m.group(2) 'c'

2 模式匹配

(?<= ... ) 前约束
(?= ) 后约束

例如 (?<=abc)[a-z]{3}(?=ghi)
匹配 abcdefghi
结果 def
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值