易截截图软件、单文件、免安装、纯绿色、仅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解压缩的问题

python如何解压缩.Z的文件啊,在windows系统环境下
Q7Z 是一款基于 Qt4 的 7z 压缩工具
http://code.google.com/p/k7z/

开源的

http://sourceforge.net/projects/k7z/

LS的能具体说一说吗?
......

Windows下用Python你会几种copy文件的方法?

1. os.system
Python code:
import os
import tempfile
filename1 = tempfile.mktemp (".txt")
open (filename1, "w").close ()
filename2 = filename1 + ".copy"
print fi ......

python执行脚本带的$@参数是什么意思?

python "$cur_path/script/upgrade.py" "$@"
你看看upgrade.py的内容就知道了

传给 upgrade 的命令行参数

把"$@"给  "$cur_path/script/upgrade.py" 处理。
......

Python中的Unicode在Delphi如何还原成Gb2312?

已知Python 中:
s = unicode("测试", "gb2312")
s = u'\u6d4b\u8bd5'
print s
测试

在Delphi里面如何将\u6d4b\u8bd5这样的还原成Gb2312的汉字呢?
找到个方法
......

c++中嵌入python模块指针为空,为什么

#include <Python.h>
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
vector <string> ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号