[Python-Dev] Problem in SRE ?
Michael Hudson
mwh@python.net
07 Nov 2001 10:47:35 -0500
"M.-A. Lemburg" <mal@lemburg.com> writes:
> I've just run across a strange problem with SRE. The following
> code does not run with the current CVS version -- the program
> simply exists without notice even though there doesn't seem
> to be an exit() or abort() call in SRE.
Well, your regexp doesn't work for the given version:
> Note that sys.version is
> '2.2b1+ (#59, Nov 7 2001, 12:57:29) \n[GCC pgcc-2.95.2 19991024
> (release)]'
>
> Any ideas ?
>
> --
> import sys, re, string
> _sys_version_parser = re.compile('([\w.]+)\s*'
You need a \+? in here somewhere! Or a + inside the [].
With this change, works fine on all Pythons I have here:
[mwh@starship mwh]$ /usr/local/bin/python foo4.py
2.1.1 (#1, Aug 23 2001, 22:12:58)
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)]
('2.1.1', 1, 'Aug 23 2001 22:12:58', 'GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)')
[mwh@starship mwh]$ /usr/bin/python foo4.py
1.5.2 (#1, Dec 21 2000, 15:29:08) [GCC egcs-2.91.66 19990314/Linux (egcs-
('1.5.2', 1, 'Dec 21 2000 15:29:08', 'GCC egcs-2.91.66 19990314/Linux (egcs-')
[mwh@starship mwh]$ ~/bin/python foo4.py
2.2a4+ (#1, Oct 19 2001, 03:56:59)
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)]
('2.2a4.0', 1, 'Oct 19 2001 03:56:59', 'GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)')
[mwh@starship mwh]$ ~/src/python/dist/src/build/python foo4.py
2.2b1+ (#1, Nov 7 2001, 05:07:34)
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)]
('2.2b1.0', 1, 'Nov 7 2001 05:07:34', 'GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)')
Cheers,
M.
--
40. There are two
ways to write error-free programs; only the third
one works.
-- Alan Perlis, http://www.cs.yale.edu/homes/perlis-alan/quotes.html