REMatch(): inconsistent dot metacharacter behaviour with line breaks

Description

By default the dot metacharacter in CFML regex functions will match line breaks.

When used with `REMatch()` in Lucee, however, it does not match line breaks, even though it does with `REFind()`.

It seems that the "dotall" flag needs to be enabled in the underlying Java for `REMatch()` to make its behaviour consistent.

Test case:

REMatchTest = ArrayLen( REMatch( '.',Chr( 10 ) ) ); dump( var=REMatchTest,label="REMatchTest: Assert 1" ); REFindTest = REFind( '.',Chr( 10 ) ); dump( var=REFindTest,label="REFindTest: Assert 1" );

Previously raised against Railo 4.2.1.008 https://issues.jboss.org/browse/RAILO-3260

Environment

None

Attachments

1
  • 21 Jul 2015, 10:56 pm

Activity

Show:

Julian Halliwell 11 May 2015 at 20:59

Workaround: Enable dotall flag or replace dot with [\s\S] in each expression.

Julian Halliwell 9 February 2015 at 14:47

Fixed

Details

Assignee

Reporter

Priority

Labels

Fix versions

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Affects versions

Created 4 February 2015 at 09:40
Updated 17 September 2020 at 15:24
Resolved 22 July 2015 at 17:30

Flag notifications