In message <[EMAIL PROTECTED]>, Kayiti Devan
andam writes:
>Please do find attached the test case for it. (testRegEx.java which can be
>compiled with putting "jakarta-oro-2.0.8.jar" in the classpath.)
>With both the 2.0.5 and 2.0.8 versions I am finding the following results:
>
>For the stringPattern -->> \d{3}|\d{3}(.)\d{2}
> 123 -> Passed
> 123.46 Failed (which shouldn't fail)
That's a different pattern than the one you originally posted. Since
I now can see from your test case that you are using matches(), I can
tell you the problem is exactly the foo|foot scenario I mentioned. It
is explained in the documentation for Perl5Matcher.matches. There is
no bug. You should use either
\d{3}(.)\d{2}|\d{3} (although I suspect you mean \d{3}\.\d{2}|\d{3})
or
^(?:\d{3}|\d{3}(.)\d{2})$
or
\d{3}(?:(.)\d{2})?
The simplest thing to do when using matches() if you either don't
understand the foo|foot scenario and how Perl expressions match with
respect to alternations or if you have a complicated expression, is
to simply stick the expression inside of ^(?:)$, turning foo|foot
into ^(?:foo|foot)$
daniel
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]