Hi,
I think there is a residual problem related to the bug reported below. A
customer of ours is trying to match an IP address using the pattern:
((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
which should match: 192.168.254.0 but doesn't.
I've tried the version of xmlregexp.c in 2.6.30 and the 2007-11-19 version
included in today's libxml2-cvs-snapshot.tar.gz snapshot.
If I manually expand the effect of the {3} as below, then the pattern
matches OK.
((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.)((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.)((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.)(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
Also, if I change the pattern to: (i.e. {3} -> {3,4}):
((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.){3,4}(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
that matches OK as well.
I've tried to reduce the expression to find out where the problem is.
Interesting I've found that flipping the order around of the expressions
makes it work. i.e. when I move the 1?... part to be the last | expression
the pattern matches OK!:
((2[0-4][0-9]|25[0-5]|1?[0-9]{1,2})\.){3}(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
I hope that gives some insight into the problem.
Thanks,
Pete Cordell
Codalogic
Visit http://www.codalogic.com/lmx/
for XML Schema to C++ data binding
----- Original Message -----
From: "Daniel Veillard" <[EMAIL PROTECTED]>
To: "Ashwin" <[EMAIL PROTECTED]>
Cc: <[email protected]>; <[EMAIL PROTECTED]>
Sent: Wednesday, August 22, 2007 4:43 PM
Subject: Re: [xml] Regexp Failure
> On Mon, Aug 20, 2007 at 06:32:43PM +0530, Ashwin wrote:
>>
>> Hi,
>>
>> I think the problem occurs when we have the minimum range as 0,
>> otherwise it works fine. I suppose the problem lies somewhere in the
>> generation of epsilon states when the minimum range is zero (There is
>> a separate bit of code for precisely that condition which I am trying
>> to work out at present:) ) Any pointers....
>>
>> Thanks!!
>
> Yes this was related to minimum range 0, and also to a problematic
> epsilon transition, but the fix required to changes parts of the graph
> generation.
>
> Daniel
>
> --
> Red Hat Virtualization group http://redhat.com/virtualization/
> Daniel Veillard | virtualization library http://libvirt.org/
> [EMAIL PROTECTED] | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
> http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
> _______________________________________________
> xml mailing list, project page http://xmlsoft.org/
> [email protected]
> http://mail.gnome.org/mailman/listinfo/xml
>
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml