当前位置:首页 > 资讯 > info6 > 正文

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

发表于: 2015-07-25   作者:caimouse   来源:转载   浏览:
摘要: (?...)这个语法规则是前面的扩展,主要在问号位置可以替换为特定的字符。例子:print('(?...)')m = re.findall(r'(a...)', r'abcdefaghijk')if m:    print(m) 输出结果如下:(?...)['abcd', 'aghi'](?#...)括号内容注释掉,不起作用。在正则表达式分析时,跳过这些规则。例子:print('(?#a)')m 

(?...)

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

例子:

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 深圳

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

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号