您的位置:首页 > 编程语言 > Python开发

正则匹配(Python)

2016-05-26 19:12 288 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: