Matt Gilman created NIFI-3837:
---------------------------------

             Summary: ReplaceText - Backreference escape issue in Regex Replace 
mode when using EL
                 Key: NIFI-3837
                 URL: https://issues.apache.org/jira/browse/NIFI-3837
             Project: Apache NiFi
          Issue Type: Bug
          Components: Extensions
            Reporter: Matt Gilman
            Priority: Minor


When using ReplaceText in Regex Replace mode, $'s may be incorrectly 
interrupted as a backreference and escaped. Given input 'ma$tt' and the 
following ReplaceText configuration:

Search Value - (?s)(^.*$)
Replacement Value - ${'$1'}
Character Set - UTF-8
Maximum Buffer Size - 1 MB
Replacement Strategy - Regex Replace
Evaluation Mode - Entire text

The resulting output is 'ma\$tt'

The issue appears to be that this regular expression is too general [1]. This 
happens when the replacement string uses expression language. It appears as 
though all backreferences will be escaped.

[1] 
https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ReplaceText.java#L500
 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to