[Bug libgcj/20435] New: regex pattern compiling bug
green at redhat dot com
gcc-bugzilla@gcc.gnu.org
Tue Mar 15 17:39:00 GMT 2005
The following test code (derived from the blojsom wiki code) exposes a bug in
our regex compiler....
import java.util.regex.Pattern;
public class pat
{
private static final String YMD_PERMALINK_REGEX =
"/(\\d\\d\\d\\d)/(\\d{1,2}+)/(\\d{1,2}+)/(.+)";
private static final Pattern YMD_PERMALINK_PATTERN =
Pattern.compile(YMD_PERMALINK_REGEX, Pattern.UNICODE_CASE);
public static void main (String[] args)
{
System.out.println ("ok");
}
}
This should print "ok", but instead we get:
$ gij pat
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.6.0.0)
at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)
(/usr/lib/libgcj.so.6.0.0)
at java.lang.Class.forName(java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
Caused by: java.util.regex.PatternSyntaxException: At position 8 in regular
expression pattern:
attempted to repeat a token that is already repeated
/(\d\d\d\d)/(\d{1,2}+)/(\d{1,2}+)/(.+)
^
at java.util.regex.Pattern.Pattern(java.lang.String, int)
(/usr/lib/libgcj.so.6.0.0)
at java.util.regex.Pattern.compile(java.lang.String, int)
(/usr/lib/libgcj.so.6.0.0)
at pat.<clinit>() (Unknown Source)
at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.6.0.0)
...3 more
--
Summary: regex pattern compiling bug
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: green at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org
GCC host triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20435
More information about the Java-prs
mailing list