Menu

#2862 Something is going extremly wrong with regular expression

severe bug
closed-works-for-me
nobody
5
2007-05-18
2007-05-15
Skeeve
No

Please use the example below.

there are 5 examples for XML Comments.

All of them should match the regular expression

<!--([^-]|-[^-])*-->

But I don't get ANY hit at all using 4.3pre9

If you remove 2 of the 3 "Vestibulum" paragraphs you get 5 hits when searching the RE.

------- Copy and paste this to jEdit -------
1 <!-- test -->
2 <!-- test - test -->
3 <!-- test
test -->
4 <!-- test -
test -->
5 <test><!--

Vestibulum sit amet massa et risus
ullamcorper accumsan. Pellentesque a
turpis et odio placerat tincidunt.
Phasellus nisl. Aenean tellus pede,
accumsan sed, sodales a, feugiat
egestas, sapien. Lorem ipsum dolor
sit amet, consectetuer adipiscing
elit. Integer sed velit. Cras
convallis justo ut nulla cras amet.

Vestibulum sit amet massa et risus
ullamcorper accumsan. Pellentesque a
turpis et odio placerat tincidunt.
Phasellus nisl. Aenean tellus pede,
accumsan sed, sodales a, feugiat
egestas, sapien. Lorem ipsum dolor
sit amet, consectetuer adipiscing
elit. Integer sed velit. Cras
convallis justo ut nulla cras amet.

Vestibulum sit amet massa et risus
ullamcorper accumsan. Pellentesque a
turpis et odio placerat tincidunt.
Phasellus nisl. Aenean tellus pede,
accumsan sed, sodales a, feugiat
egestas, sapien. Lorem ipsum dolor
sit amet, consectetuer adipiscing
elit. Integer sed velit. Cras
convallis justo ut nulla cras amet.

-->
---------------------------------------

Discussion

  • Marcelo Vanzin

    Marcelo Vanzin - 2007-05-18
    • status: open --> closed-works-for-me
     
  • Marcelo Vanzin

    Marcelo Vanzin - 2007-05-18
     
  • Marcelo Vanzin

    Marcelo Vanzin - 2007-05-18

    Logged In: YES
    user_id=75113
    Originator: NO

    Works fine for me with jEdit SVN, with screenshot to prove, and yes, I have the exact test on your bug report with all the paragraphs.

    (BTW, I'll ignore the "this was stupid, stupid, stupid" comment on the other bug.)
    File Added: hsearch.png

     
  • Skeeve

    Skeeve - 2007-05-18

    Logged In: YES
    user_id=864970
    Originator: YES

    Thanks for ignoring that stupid, stupid, stupid comment of mine. Honestly! I wasn't thinkging, I guess. And then I forgot about it.

    On th other hand: I just retried what I reported here (Mac OS X) Now it's even worse! Without Hypersearch I get a Stack Overflow:

    java.lang.StackOverflowError
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
    at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
    at java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
    at java.util.regex.Pattern$BitClass.match(Pattern.java:2876)
    at java.util.regex.Pattern$Branch.match(Pattern.java:4530)

     
  • Skeeve

    Skeeve - 2007-05-18

    Logged In: YES
    user_id=864970
    Originator: YES

    Strange, that it works for you!

    Please see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5050507

    It's a java.util.regex issue

     
  • Skeeve

    Skeeve - 2007-05-18

    Logged In: YES
    user_id=864970
    Originator: YES

    I just verified the error on an XP system with 4.3 pre 9

    You simply have to add more text in the last section. When searching with Ctrl-G you will get the stack overflow.

     
  • Skeeve

    Skeeve - 2007-05-18

    Logged In: YES
    user_id=864970
    Originator: YES

    I did some more experioments.

    Changing the pattern to <!--([^-]+|-[^-]+)*--> works. All occurences are found

    But now we get a major problem!

    Insert "--" in the last comment, making it invalid, i.e. it's no longer an XML comment and should not be found.

    It isn't found but unfortunately jEdit hangs!

     
  • Vladimir Avdonin

    Logged In: YES
    user_id=225948
    Originator: NO

    Actually it works in 4.3pre9 here as well - linux, sun java 1.5.0_10.

     
  • Skeeve

    Skeeve - 2007-05-18

    Logged In: YES
    user_id=864970
    Originator: YES

    Did you add more text? It's a stack issue so adding more text should give you the error if you have a larger stack than I have.

    Also did you try not using HyperSearch but pressing Ctrl-G to get each hit?

    Did you also try adding "--" into the text to invalidate the comment?

     
  • Vladimir Avdonin

    Logged In: YES
    user_id=225948
    Originator: NO

    All worked. Well, almost. Adding '--' gives only 4 matches. Ctrl-G works as expected. Double paragraphs work.

    But with triple number of text the problem surface. Hypersearch gives "not found". Ctrl-G still works, finding short matches. But when it comes to the long fragment it gives stack overflow, starting with:

    java.lang.StackOverflowError
    at java.util.regex.Pattern$Branch.match(Pattern.java:4535)
    at java.util.regex.Pattern$GroupHead.match(Pattern.java:4575)

     
  • Skeeve

    Skeeve - 2007-05-18

    Logged In: YES
    user_id=864970
    Originator: YES

    Thanks for testing! Glad to see that I'm not THAT stupid ;-)

     
  • Marcelo Vanzin

    Marcelo Vanzin - 2007-05-19

    Logged In: YES
    user_id=75113
    Originator: NO

    The "hangs" (basically the regex going into a very long loop) and stack overflows are issues with the Java regex library, not jEdit, so there isn't anything jEdit can do.

    Same thing if you write "while (true);" and evaluate it in Beanshell, jEdit will hang. But it's not exactly jEdit's fault.

     
  • Alan Ezust

    Alan Ezust - 2007-05-21

    Logged In: YES
    user_id=935841
    Originator: NO

    the XSearch plugin still uses gnu.regexp, instead of the buggy java.util.regex. I was going to rewrite it to use java.util.regex but maybe it's best we leave it as is... If/when gnu.regexp gets removed from the java API, we can still keep the xsearch plugin and turn gnu.regexp into another plugin for dependency purposes...

     

Log in to post a comment.