您的位置:首页 > 其它

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

2015-07-25 10:18 309 查看
(?...)
这个语法规则是前面的扩展,主要在问号位置可以替换为特定的字符。
例子:
print('(?...)')
m = re.findall(r'(a...)', r'abcdefaghijk')
if m:
print(m)
输出结果如下:
(?...)
['abcd', 'aghi']

(?#...)
括号内容注释掉,不起作用。在正则表达式分析时,跳过这些规则。
例子:
print('(?#a)')
m = re.findall(u'(?#a)i', u'aiLmsux aaaadefagaiLmsuxhijk')
if m:
print(m)
输出结果如下:
(?#a)
['i', 'i', 'i']

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


print('Isaac(?=Asimov)')
m = re.findall(u'Isaac(?=Asimov)', u'abcdIsaacAsimovttttt')
if m:
print(m)
输出结果如下:
Isaac(?=Asimov)
['Isaac']

蔡军生 QQ:9073204 深圳
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: