由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - python的re怎么有很多莫名奇妙的行为, 我估计是bug吧
相关主题
谁知道这个嵌套的Python if 是啥意思?why I can not import Tkinter?
Python problem on 64 bit Linuxscala的pattern match就一switch吧。
Python:How to replace 2 different patterns in 1 line in file有没有谁做 text mining 的?
Help: undefined symboluber用的python作的api.不是java, php
repast 请进: python debian安装问题要不要学习 scripting languages such as Python?
问python高手一个问题[合集] 统一的regex (grep, sed, awk, python,..)
python smtp 587 连不上gmail, socket error?现在哪些script最流行?
快要被Python的兼容性弄疯了python的问题,大拿帮忙看看
相关话题的讨论汇总
话题: sre话题: file话题: ab话题: python话题: pattern
进入Programming版参与讨论
1 (共1页)
m********5
发帖数: 17667
1
比如
>>> re.compile(r'([ab]*)*')
Traceback (most recent call last):
File "", line 1, in
re.compile(r'([ab]*)*')
File "/usr/lib/python2.7/re.py", line 190, in compile
return _compile(pattern, flags)
File "/usr/lib/python2.7/re.py", line 242, in _compile
raise error, v # invalid expression
error: nothing to repeat
但:
>>> re.compile(r'([ab]?)*')
<_sre.SRE_Pattern object at 0x1274be0>
在java, ruby里面都没这些莫名奇妙的shit
很多bug曾经fix但是后来又挂掉,比如上例:
http://bugs.python.org/issue2537
用这种东西做productive工作的人,我感到太佩服了, 我以前不做web所以不知道这些问
题; 但做web的应该会涉及到很多这东西吧? 不知道各位前辈一般是怎么解决这个问题
的, 用非stl的regex?
s******d
发帖数: 424
2
你python什么版本?2.7啊
我对python不满的就是2和3的差别导致很多Lib不能用了
under python 3.3
>>> re.compile(r'([ab]*)*')
<_sre.SRE_Pattern object at 0x013CFF38>
>>> m = re.compile(r'([ab]*)*')
>>> n = m.match('aaabbbaaabbb')
>>> n.group(0)
'aaabbbaaabbb'
z****e
发帖数: 54598
3
vert.x是你的救星
过来吧
d********f
发帖数: 43471
4
python的第一课就是version control, 2.6和2.7都不能完全兼容

【在 m********5 的大作中提到】
: 比如
: >>> re.compile(r'([ab]*)*')
: Traceback (most recent call last):
: File "", line 1, in
: re.compile(r'([ab]*)*')
: File "/usr/lib/python2.7/re.py", line 190, in compile
: return _compile(pattern, flags)
: File "/usr/lib/python2.7/re.py", line 242, in _compile
: raise error, v # invalid expression
: error: nothing to repeat

m********5
发帖数: 17667
5
非常感谢回复, 看来我的印象没错, 有的subversion是工作的
在我这里2.7和3.2, 3.3都是一个样
但是以前是曾经fix过的,现在又出来了
你print re.__version__ 是多少?

【在 s******d 的大作中提到】
: 你python什么版本?2.7啊
: 我对python不满的就是2和3的差别导致很多Lib不能用了
: under python 3.3
: >>> re.compile(r'([ab]*)*')
: <_sre.SRE_Pattern object at 0x013CFF38>
: >>> m = re.compile(r'([ab]*)*')
: >>> n = m.match('aaabbbaaabbb')
: >>> n.group(0)
: 'aaabbbaaabbb'

m********5
发帖数: 17667
6
这根本不是兼容不兼容的问题, 又不是feature, 这是个bug啊
问题在于它不是2.6和2.7行为不同而是2.7的subversion行为不同, 这简直就是没法用啊

【在 d********f 的大作中提到】
: python的第一课就是version control, 2.6和2.7都不能完全兼容
L***s
发帖数: 1148
7
是bug。win32的2.7.5和2.7.6貌似没问题,修正过来了。
早在2000年龟叔已经关照过这个问题了。后来不知哪个程序员认定这应该是feature(
捕捉不到不应该允许repeat),手贱加两行抛个错。

【在 m********5 的大作中提到】
: 这根本不是兼容不兼容的问题, 又不是feature, 这是个bug啊
: 问题在于它不是2.6和2.7行为不同而是2.7的subversion行为不同, 这简直就是没法用啊

1 (共1页)
进入Programming版参与讨论
相关主题
python的问题,大拿帮忙看看repast 请进: python debian安装问题
perl的文本处理大部分容易在python里实现吗?问python高手一个问题
Python: how to match the price string starting with $ ?python smtp 587 连不上gmail, socket error?
Python, Java, Perl, PHP,Ruby快要被Python的兼容性弄疯了
谁知道这个嵌套的Python if 是啥意思?why I can not import Tkinter?
Python problem on 64 bit Linuxscala的pattern match就一switch吧。
Python:How to replace 2 different patterns in 1 line in file有没有谁做 text mining 的?
Help: undefined symboluber用的python作的api.不是java, php
相关话题的讨论汇总
话题: sre话题: file话题: ab话题: python话题: pattern