Aldrian Obaja created UIMA-3687:
-----------------------------------

             Summary: RegexAnnotator variable value cannot contain $ sign
                 Key: UIMA-3687
                 URL: https://issues.apache.org/jira/browse/UIMA-3687
             Project: UIMA
          Issue Type: Bug
          Components: Sandbox-RegexAnnotator
    Affects Versions: 2.3.1SDK
         Environment: Mac OS 10.9.2
            Reporter: Aldrian Obaja


Regex Annotator cannot replace variables which value contain $.
Caused by: java.lang.IllegalArgumentException: Illegal group reference
        at java.util.regex.Matcher.appendReplacement(Matcher.java:808)
        at java.util.regex.Matcher.replaceAll(Matcher.java:906)
        at java.lang.String.replaceAll(String.java:2162)
        at 
org.apache.uima.annotator.regex.impl.Rule_impl.replaceRegexVariables(Rule_impl.java:371)
        at 
org.apache.uima.annotator.regex.impl.Rule_impl.initialize(Rule_impl.java:285)

Sample variable:
<variable name="dollar" value="US\$|USD" />

Caused by the code escaping backslashes without escaping dollar sign in 
ConceptFileParser_impl.java:103 and then later used directly as replacement 
value in Rule_impl.java:371, causing the dollar sign to be interpreted as start 
of group reference, hence the "Illegal group reference" error.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to