|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- >>> c = "abcdefgabd"
- >>> d = "ab(c|d)"
- >>> re.findall(d,c)
- ['c', 'd']
- >>> d
- 'ab(c|d)'
- >>> c
- 'abcdefgabd'
- >>> re.search(d,c)
- <re.Match object; span=(0, 3), match='abc'>
- >>> re.findall(d,c)
- ['c', 'd']
复制代码
听课后在实验元字符“|”时,search方法可以正确匹配,findall方法却只匹配到一个字符。
- import re
- c = "abcdefgabd"
- d = "ab(c|d)"
- print(re.findall(d, c))
- #"ab(c|d)" 这句的意思是 字母ab 开头后面是c或d 正好有 abc abd,所以返回 c d
- # ['c', 'd']
- print(re.findall("(ab(c|d))", c))
- # 这一句返回所有的组合
- #[('abc', 'c'), ('abd', 'd')]
- print(re.findall("(ab[cd])", c))
- #返回所有的组合,这样写比较好
- #['abc', 'abd']
- print(re.findall("ab[cd]", c))
- #或者这样
- #==================================
- print(re.search(d, c,re.M|re.I))
- #如果有多个符合条件的search只返回一个.比较懒
- <re.Match object; span=(0, 3), match='abc'>
复制代码
|
|