Removing the "fix" code results in the regex_err16.xq test failing. That
test is:

  fn:matches("a", "[\s-e]")

The charClassExpr is invalid because, in character ranges, only
SingleCharEsc are allowed and \s is a MultiCharEsc. ICU doesn't detect
this and the test just returns "false."

Adding a proper fix for this would involve adding more state to the
regex parser and knowing when we're within a character class *and*
within a character range, i.e.:

  if ( in_char_class && c == '-' && prev_c_was_an_esc && 
!prev_c_was_a_single_char_esc )
    throw an exception

You received this bug notification because you are a member of Zorba
Coders, which is the registrant for Zorba.

  Multi-char escapes wrongly forbidden in character class

Status in Zorba - The XQuery Processor:
  In Progress

Bug description:
  If you have a character range, e.g., A-Z, then the end-point chars in
  the range can be SingleCharEsc. A while ago, a "fix" was made for
  this, but the "fix" went too far and forbids MultiCharEsc within

To manage notifications about this bug go to:

Mailing list:
Post to     :
Unsubscribe :
More help   :

Reply via email to