Sushil -- I have received a number of exceptions from regexp. I don't recall this particular one, but I have seen several other index out of bounds exceptions.
Here are some notes I made a while back. Perhaps they will be of use. The behavior of RE on character classes, [...], does not meet the normal rules for regular expressions. -- To include '-', use [...\-]. '\-' must be the last item within the brackets; otherwise it is ignored. [-...] matches characters that are not in the character class. --- gives an exception. -- The behavior of '.', '+', '/', and '_' together within [] is bizarre and defies description. Sometimes one of them must be doubled to be matched. -- Rich Mallory -----Original Message----- From: Sureka, Sushil [mailto:Sushil.Sureka@;tgslc.org] Sent: Wednesday, November 13, 2002 3:39 PM To: '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]' Subject: java.lang.StringIndexOutOfBoundsException Exception Hello All, I wasn't sure if it is suitable for dev or user so I am sending it to both the groups. I have run into an issue and it seems like it can be a issue in regexp package. Here is the exception stack trace java.lang.StringIndexOutOfBoundsException: String index out of range: 7 at java.lang.String.charAt(String.java:511) at org.apache.regexp.StringCharacterIterator.charAt(StringCharacterIterator.java:90) at org.apache.regexp.RE.matchNodes(RE.java:1320) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchNodes(RE.java:910) at org.apache.regexp.RE.matchNodes(RE.java:1376) at org.apache.regexp.RE.matchAt(RE.java:1448) at org.apache.regexp.RE.match(RE.java:1498) at org.apache.regexp.RE.match(RE.java:1468) at org.apache.regexp.RE.match(RE.java:1561) at org.tgslc.service.validation.rule.RegExpRule.violatesCondition(RegExpRule.java:147) All I am doing at RegExpRule.violatesCondition is calling re.match(SOME_STRING). The regular expression it is trying to match against is (^[A-Za-z0-9\-/]*$)|(^[Nn]/[Aa]$) The string is getting read from the file and it is getting matched against this expression. The thing is if we have multiple files running we have run into this issue off and on, but the same file (which fails when we are running multiple files simultaneously) processes ok if we are running by itself. This points me to some synchronization problem but then we don't store the Re class as static variable. Any idea what might be going wrong here?? Sushil -- To unsubscribe, e-mail: <mailto:regexp-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:regexp-dev-help@;jakarta.apache.org>