[ https://issues.apache.org/jira/browse/NIFI-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15310292#comment-15310292 ]
ASF GitHub Bot commented on NIFI-1919: -------------------------------------- Github user mattyb149 commented on a diff in the pull request: https://github.com/apache/nifi/pull/474#discussion_r65358238 --- Diff: nifi-docs/src/main/asciidoc/expression-language-guide.adoc --- @@ -884,7 +916,7 @@ Expressions will provide the following results: -.replaceAll Examples +.ReplaceAll Examples --- End diff -- Shouldn't this remain lowercase? Also is it necessary for the markdown table or should it be removed to be consistent with other examples sections? > Expression Language only evaluates regular expression replacement on > replaceAll, not replace > -------------------------------------------------------------------------------------------- > > Key: NIFI-1919 > URL: https://issues.apache.org/jira/browse/NIFI-1919 > Project: Apache NiFi > Issue Type: Bug > Components: Core Framework > Affects Versions: 0.6.1 > Reporter: Andy LoPresto > Assignee: Andy LoPresto > Fix For: 1.0.0, 0.7.0 > > > When {{${attribute:replaceAll('\w+', 'replacement')}}} is called, the pattern > is matched and applied. However, when {{${attribute:replace('\w+', > 'replacement')}}} is called, it is not. I believe this is because > {{ReplaceAllEvaluator}} uses {{String#replaceAll(String regex, String > replacement)}} while {{ReplaceEvaluator}} uses {{String#replace(CharSequence > target, CharSequence replacement)}} which then uses > {{Pattern.compile(target.toString(), Pattern.LITERAL)}} instead of compiling > for a regular expression. I am writing a unit test to demonstrate this and > show the results when {{String#replaceFirst()}} is used instead. -- This message was sent by Atlassian JIRA (v6.3.4#6332)