Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.6.1
-
None
Description
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.
Attachments
Issue Links
- relates to
-
NIFI-1938 Investigate renaming replace expression language method
- Open
- links to