Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8187571

String replaceAll throws StackOverflowError on a simple text (Regex issue)

XMLWordPrintable

      FULL PRODUCT VERSION :
      JRE:
      java version "1.8.0_144"
      Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
      Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

      JDK :
      java version "1.8.0_131"
      Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
      Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.1.7601]

      A DESCRIPTION OF THE PROBLEM :
      I hava a simple text encoded into Java class for convenince and a Regex Pattern which works well in Web Regex Editor (https://regex101.com/r/Ng2Khp/2/). The same Regex compiled in test class runs agains small piece of text and causes StackOverflowError.


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Run the method test() using e.g. TestNG adapter or call it from some main class.

      I use quite simple Regexp that in the test class is escaping \ and "

      \[TestCaseSource\(\"ALM\"\)\](.|\n)*\}

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      No error, Regex Pattern is replaced with an empty string.
      ACTUAL -
      A StackOverflowError is thrown.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.lang.StackOverflowError
      at java.lang.Character.codePointAt(Character.java:4866)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3775)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
      at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
      at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
      at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
      at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
      at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
      at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
       @Test
          public void test() {
              String data =
                  "\n" + " [TestCaseSource(\"ALM\")]\n"
                  + " public void AccountFinancialTest(string testSetId)\n" + " {\n"
                  + " TestCaseDetails tcd = new TestCaseDetails();\n" + " tcd.TestSetId = testSetId;\n"
                  + " tcd.TestFeature = \" migration\";\n"
                  + " tcd.TestName = \" - negative scenarios\";\n" + " tcd.TestCase = \"A\";\n" + "\n"
                  + " env = \"DEV\";\n" + " system = \"D\";\n" + " team = \"TRA\";\n"
                  + " tvs = new TestValidationService();\n"
                  + " Credentials.Server = GetFieldValue(\"SERVER\");\n"
                  + " Credentials.DefaultStageProject = GetFieldValue(\"PROJECT\");\n"
                  + " Credentials.Domain = GetFieldValue(\"DOMAIN\");\n" + "\n"
                  + " connectionstring = GetFieldValue(\"T24CONNECTIONSTRING\");\n"
                  + " T24schema = GetFieldValue(\"T24SCHEMA\");\n" + "\n"
                  + " Db2connectionstring = GetFieldValue(\"DB2CONNECTION\");\n"
                  + " Db2Schema = GetFieldValue(\"Db2Schema\");\n" + "\n"
                  + " DoTest(TestFina);\n" + " }\n" + "\n" + " [Test]\n"
                  + " public void AccountFinancialTestLocal()\n" + " {\n"
                  + " TestCaseDetails tcd = new TestCaseDetails();\n" + " tcd.TestSetId = \"-1\";\n"
                  + " tcd.EnvName = \"DEV\";\n" + " tcd.TestStatus = \"IN_PROGRESS\";\n"
                  + " tcd.TestPriority = \"LOW\";\n" + " tcd.TestSize = \"3\";\n"
                  + " tcd.TestType = \"REG\";\n"
                  + " tcd.TestFeature = \" migration\";\n"
                  + " tcd.TestName = \" negative scenarios\";\n"
                  + " tcd.TestCase = \"Ac\";\n" + " DoTest(Test);\n"
                  + " }\n";

              Pattern p;
              data = data.replaceFirst("\\[TestCaseSource\\(\\\"ALM\\\"\\)\\](.|\\n)*\\}", "");
              System.out.println(data);
          }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      I do not know any, may require use of some non-standard Regex Libraries.

            sherman Xueming Shen
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: