I don't know, I did not write the code. I trust it, because it passes the test suite of Henry Spencer's regexp.c package.
Lukas 2009/11/4 Nicolas Cellier <[email protected]>: > This version does not seem to solve http://bugs.squeak.org/view.php?id=5391 > > { > '15' matchesRegex: '[1-9]|1[0-9]'. > '15' matchesRegex: '1[0-9]|[1-9]'. > } #(false true) > > > 2009/11/4 Lukas Renggli <[email protected]>: >> I committed VB-Regex-lr.34 to the PharoInbox that fixes this issue. >> >> In fact, this is a completely new port of VB-Regex with numerous >> bug-fixes and enhancements. The bug you found was fixed in version >> 1.1c in December 2004. The version 1.1 we used up to now was from >> October 1999. >> >> The detailed log of changes from Vassily you can see below. >> >> Cheers, >> Lukas >> >> Name: VB-Regex-lr.34 >> Author: lr >> Time: 4 November 2009, 10:40:27 pm >> UUID: 9254d5aa-3e22-4e3b-83aa-2d633ff05570 >> Ancestors: VB-Regex-StephaneDucasse.33 >> >> VERSION 1.2.3 (November 2007) >> >> 1. Regexs with ^ or $ applied to copy empty strings caused infinite >> loops, e.g. ('' copyWithRegex: '^.*$' matchesReplacedWith: 'foo'). >> Applied a similar correction to that from version 1.1c, to >> #copyStream:to:(replacingMatchesWith:|translatingMatchesUsing:). >> 2. Extended RxParser testing to run each test for >> #copy:translatingMatchesUsing: as well as #search:. >> 3. Corrected #testSuite test that a dot does not match a null, which >> was passing by luck with Smalltalk code in a literal array. >> 4. Added test to end of test suite for fix 1 above. >> >> VERSION 1.2.2 (November 2006) >> >> There was no way to specify a backslash in a character set. Now [\\] >> is accepted. >> >> VERSION 1.2.1 (August 2006) >> >> 1. Support for returning all ranges (startIndex to: stopIndex) >> matching a regex - #allRangesOfRegexMatches:, #matchingRangesIn: >> 2. Added hint to usage documentation on how to get more information >> about matches when enumerating >> 3. Syntax description of dot corrected: matches anything but NUL since 1.1a >> >> VERSION 1.2 (May 2006) >> >> Fixed case-insensitive search for character sets. >> >> VERSION 1.1c (December 2004) >> >> Fixed the issue with #matchesOnStream:do: which caused infinite loops >> for matches >> that matched empty strings. >> >> VERSION 1.1b (November 2001) >> >> Changes valueNowOrOnUnwindDo: to ensure:, plus incorporates some earlier >> fixes. >> >> VERSION 1.1a (May 2001) >> >> 1. Support for keeping track of multiple subexpressions. >> 2. Dot (.) matches anything but NUL character, as it should per POSIX spec. >> 3. Some bug fixes. >> >> >> >> 2009/11/4 Stéphane Ducasse <[email protected]>: >>>> l := '1ère partie\nmilieu\nfin'. >>>> '.*' asRegex matchesIn l. >>> >>> -> infinite and freezing loop. >>> >>> Stef >>> >>> >>> >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> [email protected] >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>> >> >> >> >> -- >> Lukas Renggli >> http://www.lukas-renggli.ch >> >> _______________________________________________ >> Pharo-project mailing list >> [email protected] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
