社区新版论坛已上线,点击立即前往!使用 openKylin 账户授权登录,解锁更多体验!

openKylin论坛

 找回密码

python re模块 [复制链接]

2.元字符[^]. 你可以用补集来匹配不在区间范围内的字符。其做法是把"^"作为类别的首个字符;其它地方的"^"只会简单匹配 "^"字符本身。例如,[^5] 将匹配除 "5" 之外的任意字符。同时,在[ ]外,元字符^表示匹配字符串的开始,如"^ab+"表示以ab开头的字符串。
    举例验证,
  1. >>> m=re.search("^ab+","asdfabbbb")
  2. >>> print m
  3. None
复制代码
  1. >>> m=re.search("ab+","asdfabbbb")
  2. >>> print m
  3. <_sre.SRE_Match object at 0x011B1988>
  4. >>> print m.group()
  5. abbbb
复制代码
上例不能用re.match,因为match匹配字符串的开始,我们无法验证元字符"^"是否代表字符串的开始位置。
  1. >>> m=re.match("^ab+","asdfabbbb")
  2. >>> print m
  3. None
  4. >>> m=re.match("ab+","asdfabbbb")
  5. >>> print m
  6. None
复制代码
#验证在元字符[]中,"^"在不同位置所代表的意义。
  1. >>> re.search("[^abc]","abcd")  #"^"在首字符表示取反,即abc之外的任意字符。
  2. <_sre.SRE_Match object at 0x011B19F8>
  3. >>> m=re.search("[^abc]","abcd")
  4. >>> m.group()
  5. 'd'
  6. >>> m=re.search("[abc^]","^")  #如果"^"在[ ]中不是首字符,那么那就是一个普通字符
  7. >>> m.group()
  8. '^'
复制代码
楼主
发表于 2013-7-7 19:35:54
回复

使用道具 举报

openKylin

GMT+8, 2024-6-26 11:42 , Processed in 0.017756 second(s), 17 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

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