flpz.net
当前位置:首页>>关于python的正则怎么同时匹配两个不同结果的资料>>

python的正则怎么同时匹配两个不同结果

| 这个符号就是or的意思,先匹配|前方的,然后再匹配后方的。 比如1|2,意思是先匹配1,如果匹配不了就匹配2,但需要注意的是,就算匹配了1,同样还会匹配2,效果就是如你所说的,匹配两种结果。

string = "xxxxxxxxxxxxxxxxxxxxxxxx entry '某某内容' for aaaaaaaaaaaaaaaaaa" result = re.findall(".*entry(.*)for.*",string) for x in result: print x

替换掉就好了。 re.sub(r'',' ',‘eng li aasdddeiiiiideeeeef ’) 或者: >>> ' '.join(re.split(r'','eng li aasdddeiiiiideeeeef')) ' eng li aas ddde iiiiideeeeef ' >>>

那是因为正则表达式r'a(.+?)b|wz's和sd的结果在第一捕获组中,而wz在第0捕获组中,所以你要不然把wz也用小括号括起来r'a(.+?)b|(wz)'这样分别取第一和第二捕获组的数据,要不然你用r'(?

替换掉就好了。 re.sub(r'',' ',‘eng li aasdddeiiiiideeeeef ’) 或者: >>> ' '.join(re.split(r'','eng li aasdddeiiiiideeeeef')) ' eng li aas ddde iiiiideeeeef ' >>>

对于for循环中语句的一般形式,就是如下的while循环形式: 表达式1; while(表达式2) {语句 表达式3; } 注意: 1) for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项, 即可以缺省,但“;”不能...

你看看想要的是不是这个: ret = re.findall(r'/begin([^/]*)/end',content,re.S).*会匹配所有字符,所以你那个会匹配第一个/begin和最后一个/end,包括之间的所有/begin, /end. 我这样写,不允许中间出现/,就没问题了。

也许可以试试抛开正则,使用split: #!/bin/env python fileH = open("test") listSec1 = [] ret = [] fileContent = fileH.read() for s in fileContent.split("test"): listSec1.append(s) for s in listSec1[1].split("O_4 #1"): ret.append(...

import rep1 = re.compile(r'^[a-z][aeiou][a-z]*') m = p1.search('asd')n = p1.search('desk')print mprint nresult-------------------------- None asd 匹配失败,desk 匹配成功

方法一:解决这个问题,可以先匹配出来,再从匹配到的数据中再选择。 方法二:

网站首页 | 网站地图
All rights reserved Powered by www.flpz.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com