免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3434 | 回复: 18
打印 上一主题 下一主题

求解一个python正则表达式问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-15 14:07 |只看该作者 |倒序浏览
本帖最后由 hrdxwandg 于 2012-05-15 19:17 编辑

import re
cr = re.compile("怎么写呢")
s = "abcd123d123ad1v123"
print cr.findall(s)

我想找出以a开头,以123字符串结尾,但是中间不出现123这个字符串的字符串。
比如上题,结果应为:abcd123和ad1v123。

请教大侠这个正则该如何写呢?

先谢谢各位了~
----------------------------------------------------------------------------------------
以上问题解决了,还有一个相反问题:
import re
cr = re.compile("怎么写呢")
s = "a123abvpd123d“p”f12ab123sabd123f1123abc"
print cr.findall(s)

我想找出以123字符串开头,以ab字符串结尾,但是中间不出现123和“p”这两个字符串的子字符串。
比如上题,结果应为:123ab和123sab和123ab。

再次请教,谢谢了~

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
2 [报告]
发表于 2012-05-15 14:50 |只看该作者
re: a.*?123

论坛徽章:
0
3 [报告]
发表于 2012-05-15 15:44 |只看该作者
回复 2# yinyuemi


这个不行~要求不能出现123这整个字符串,而不是1或2或3

   

论坛徽章:
0
4 [报告]
发表于 2012-05-15 16:05 |只看该作者
hrdxwandg 发表于 2012-05-15 15:44
回复 2# yinyuemi


>>> v=re.findall('a.*?123',"abcd123d123ad1v123")
>>> v
['abcd123', 'ad1v123']

这不是你举例要的结果吗?

论坛徽章:
0
5 [报告]
发表于 2012-05-15 17:00 |只看该作者
一楼正解,正解啊,正解啊,正解 啊

论坛徽章:
0
6 [报告]
发表于 2012-05-15 18:44 |只看该作者
回复 2# yinyuemi

不好意思啊,我弄错了。
谢谢啊~


   

论坛徽章:
0
7
发表于 2012-05-15 18:45
回复 4# anonymous0502

不好意思,我弄错了。
谢谢啊~


   

论坛徽章:
0
8
发表于 2012-05-15 18:45
回复 5# jackliu8722

嘿嘿,是啊,我弄错了。
哎,太水了~

   

论坛徽章:
0
9 [报告]
发表于 2012-05-15 19:19 |只看该作者
回复 2# yinyuemi

不好意思,再次请教了~谢谢~


   

论坛徽章:
0
10 [报告]
发表于 2012-05-15 23:33 |只看该作者
回复 1# hrdxwandg


    import re
    m = re.compile(r"123[^p]*?ab")
    print m.findall(s)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP