微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

3.2.1 正则表达式的语法(1)

(?...)

这个语法规则是前面的扩展,主要在问号位置可以替换为特定的字符。

例子:

print('(?...)')

m=re.findall(r'(a...)',r'abcdefaghijk')

ifm:

print(m)

输出结果如下:

(?...)

['abcd','aghi']


(?#...)

括号内容注释掉,不起作用。在正则表达式分析时,跳过这些规则。

例子:

print('(?#a)')

m=re.findall(u'(?#a)i',u'aiLmsuxaaaadefagaiLmsuxhijk')

ifm:

print(m)

输出结果如下:

(?#a)

['i','i','i']

(?=...)

向前提前识别模式,当向前面字符符合等号中的字符时,就认为匹配了,但这些字符不跳过。比如Isaac(?=Asimov),在Isaac字符后面碰到Asimov字符才会把这个Isaac识别出来,但Asimov不会跳过去。

例子:

importre

print('Isaac(?=Asimov)')

m=re.findall(u'Isaac(?=Asimov)',u'abcdisaacAsimovttttt')

ifm:

print(m)

输出结果如下:

Isaac(?=Asimov)

['Isaac']



蔡军生 QQ:9073204 深圳

原文地址:https://www.jb51.cc/regex/360129.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐