Something happened between and to...
# lucee
Something happened between and to break
. Probably something to do with one of these two: Repro:
Copy code
s = ""
pattern = ".*"
    reMatch = s.reMatchNoCase(pattern),
    matches = s.matches(pattern),
    split = s.split(pattern)
]) Compare the difference between Lucee 5 (
returns an empty array) and Lucee 4.5 and CF2021 (correctly returns an array with one empty string in it). One might try to reason out of this, saying it's the difference between
this.useJavaAsRegexEngine = true
this.useJavaAsRegexEngine = false
. Whilst setting it to
does "fix" the issue, that's neither here nor there, because with either Java or PCRE (or... Apache ORO I think, but that's close to a very old version of PRCE I think anyhow?) regexes, the results should be the same:
matches an empty string. Also note changing that setting on CF2021 has no effect: it returns
either way. Which is correct. This breaks TestBox, for a specific edge-case (which I have raised separately in the testing channel).
Sigh. CFWheels needs
this.useJavaAsRegexEngine = false
So TestBox needs it one way. CFWheels needs it the other way. Do ppl recall how I've always said these stupid flags to change behaviour of the language were a fuckin dumb idea, and are basically unusable in a day and age where we all rely on third-party libs to do our jobs? Exhibit. Fucking. A.
☝🏻 2