Andy LoPresto created NIFI-1919:
-----------------------------------
Summary: 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)