易截截图软件、单文件、免安装、纯绿色、仅160KB

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 3 发布这么久了,是时候转移了么?

    RT,貌似Python之父也说如果你现在开始新的项目的话,最好是直接使用Python3,可是实际上大家使用得大部分还是2.5,估计用2.6的都不是很多,并且相对应的许多扩展都没有3对应的版本。
    ......

python的引用计数

我用了def CreateMyDialog(self):
        dlg = MyDialog(None, -1, ''.decode('utf8'), (300,300), (300,200), wx.DEFAULT_DIALOG_STYLE | wx.DIALOG_NO_PARENT )
&nbs ......

看看这段Python代码问题出在哪

照着书上写的,执行时报错(Python2.6)
import wx
class InsertFrame(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,'F ......

[提问]Python 如何忽略 whitespace 读入

像 C 的 scanf() 那样
比如读入 1 2 3 a b c
每次读入一个
下面这个应该是你想要的吧:
Python code:

>>> k = raw_input()
0 0123 ds dsl sd
>>> k
'0 0123 ds dsl sd'
>>> ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号