openKylin论坛

 找回密码

python re模块三 [复制链接]

元字符(*),表示匹配前面正则表达式零次或多次
元字符(?),表示匹配前面正则表达式零次或者一次
元字符(+),表示匹配前面正则表达式一次或者多次
元字符({N}),表示前面正则表达式的N次copy,如"a{5}",表示匹配5个”a”,即"aaaaa"
  1. >>> re.findall("a{5}","aaaaaaaaaa")
  2.  ['aaaaa', 'aaaaa']
  3. >>> re.findall("a{5}","aaaaaaaaa")
  4. ['aaaaa']
复制代码
{m.n}用来表示前面正则表达式的m到n次copy,尝试匹配尽可能多的copy。
  1. >>> re.findall("a{2,4}","aaaaaaaa")
  2. ['aaaa', 'aaaa']
复制代码
通过上面的例子,可以看到{m,n},正则表达式优先匹配n,而不是m,因为结果不是["aa","aa","aa","aa"]
  1.    >>> re.findall("a{2}","aaaaaaaa")
  2.  ['aa', 'aa', 'aa', 'aa']
复制代码
{m,n}?  用来表示前面正则表达式的m到n次copy,尝试匹配尽可能少的copy
  1. >>> re.findall("a{2,4}?","aaaaaaaa")
  2. ['aa', 'aa', 'aa', 'aa']
复制代码
楼主
发表于 2013-7-9 19:02:24
回复

使用道具 举报

openKylin

GMT+8, 2024-6-1 16:36 , Processed in 0.020258 second(s), 17 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

快速回复 返回顶部 返回列表