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 | | 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行为不同, 这简直就是没法用啊
|
|