python正则表达式 如何取出以下字符串 多谢
s='aaa111aaa,bbb222,333ccc,444ddd444,555eee666,fff777ggg'
用正则表达式取出 前后字母相同的数据 结果如下:
111 ddd
谢谢~
Python code:
import re
s='aaa111aaa,bbb222,333ccc,444ddd444,555eee666,fff777ggg'
p=re.compile(r'(\w)\1{2,}(\w+)(\w)\1{2,}')
m=re.finditer(p,s)
for i in m:
print i.group(2)
麻烦能不能解释一下 我刚刚研究正则表达式 多谢高人
(\w)\1{2,}(\w+)(\w)\1{2,} 有点小问题
修修:
(\w)\1+(\w+)\1{2,}
楼主没有表达确确的意思
"aaa111aaaa" => 111 ?? 111a?? 还是不匹配??
"aaaa111aaa" => 111 ?? a111?? 还是不匹配??
r'(\w)\1{2,}(\w+)(\w)\1{2,}' 可以优化为 r'(\w)\1{2,}(\w+)\1{3}'
正则的知识网上大把大把的,随便google一个完整的看看就ok了
dddddddddddddddddd
学习了.....
楼主的匹配规则是不是就是左右对称的一个字符串,取中间的对称点?
Python code:
import re
s='aaa111aaa,bbb222,333ccc,444ddd444,555eee666,fff777ggg'
l=s.split(',')
p=re.compile(r'^(?P<balance>\w+)(?P<target>\w+)(?P=balance)$')
for item in l:
m=p.match(item)
if m != None:
print m.group('target')
(r'^(?P<balance>\w+)(?P<target>\w+)(?P=balance)$')<
相关问答:
python和pyqt以及Eric4都已经配置好了,打开Eric4写个python程序比如简单的
print“hello,world”,怎么编译运行了,Start菜单的所有命令都出现和图中差不多的对话框,应当怎么运行了?
求大家指教
没有人用 ......
如果一段代码
Python code:
#!/usr/bin/python2.5
from urllib2 import Request,urlopen,URLError
def check():
req = Request('http://www.google.com')
try:
res = urlopen(req).read()
......
比如
Python code:
@orm.validates('title')
def validate_title(self, key, title):
"""Assure that page titles are wikiwords and valid length"""
......
如题,
《python源码剖析》中第32页,
有个检查加法结果是否溢出的代码,
大致如下:
C/C++ code:
long a, b, x;
x = a + b;
//检查结果是否溢出
if((x^a)>=0 || (x^b)>=0)
return OK; // ......