[ https://issues.apache.org/jira/browse/NIFI-2752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15993563#comment-15993563 ]
ASF GitHub Bot commented on NIFI-2752: -------------------------------------- Github user mosermw commented on the issue: https://github.com/apache/nifi/pull/1732 +1 contrib-check, verified unit tests before and after the fix, ran a simple flow, and looks like it matches master branch. Thanks @jskora will merge to 0.x branch. > Correct ReplaceText default pattern and unit tests > -------------------------------------------------- > > Key: NIFI-2752 > URL: https://issues.apache.org/jira/browse/NIFI-2752 > Project: Apache NiFi > Issue Type: Bug > Components: Core Framework > Affects Versions: 1.1.0, 0.8.0, 0.7.1 > Reporter: Joe Skora > Assignee: Joe Skora > Fix For: 1.1.0 > > > [{{ReplaceText.DEFAULT_REGEX}}|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#L87] > is defined as "(?s:\^.\*$)", which is valid PCRE but must be expressed as > "(?s)(\^.\*$)" in Java. > The Java [Pattern class|https://docs.oracle.com/javase/8/docs/api/index.html] > specifies that patterns like "(?idmsux-idmsux:X)" are _non-capturing_, so > anything but the default pattern and replacement value result in empty > output. This isn't caught by unit tests because the code short circuits if > the default pattern and replacement are found in > [ReplaceText.onTrigger()|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#L217]. > This hides the capture group problem from the unit tests and the default > processor configuration, but causes the processor to produce empty output if > using non-trivial patterns and replacements. -- This message was sent by Atlassian JIRA (v6.3.15#6346)