Github user ottobackwards commented on a diff in the pull request: https://github.com/apache/nifi/pull/3183#discussion_r238675406 --- Diff: nifi-commons/nifi-record-path/src/main/java/org/apache/nifi/record/path/util/RecordPathUtils.java --- @@ -39,4 +39,52 @@ public static String getFirstStringValue(final RecordPathSegment segment, final return stringValue; } + + /** + * This method handles backslash sequences after ANTLR parser converts all backslash into double ones + * with exception for \t, \r and \n. See + * <a href="file:../../../../../../../../../src/main/antlr3/org/apache/nifi/record/path/RecordPathParser.g">org/apache/nifi/record/path/RecordPathParser.g</a> --- End diff -- What would help, is one or more clear, failing unit tests against the current code that illustrate the problem. We have regex escape routines in more than one place, some for places without grammars ( replace text). Where we _do_ have a grammar, the correct thing, or the preferred thing in a vacuum would be to have the grammar handle this. It is centralized and more maintainable. We may want to evaluate the regression as a community, based on the fix and the implications wrt maintainability and correctness. I would almost say that we would want to have discussion and review of both approaches. That would be my preference.
---