You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/06/01 13:22:59 UTC
[jira] [Commented] (NIFI-1919) Expression Language only evaluates
regular expression replacement on replaceAll, not replace
[ 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)