You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With Saxon, fn:matches("AB", "^(.*)+B") returns false, and I don't understand why. I've ported Saxon's regex engine to Rust, and I'm also getting a false here (once I fixed another bug), which surprised me, so I verified that Saxon does the same.
Looking at it, the .* should consume "A", and then "B" should be matched. But it doesn't do that.
I'm trying to understand why it wouldn't match for the XPath regex flavor. And whether it should match or not, I think it's worthwhile adding a test case to the test suite to nail this behavior down.
This behavior is implemented inside of the Repeat op, for greedy matching. I suspect it's in advance() (in the Java code). I see a bug was fixed previously (3787).
The text was updated successfully, but these errors were encountered:
I'd like to see what fix you applied in Saxon so I can port it to my Rust version, but I think I have to wait for an open source release to see what you changed, correct?
With Saxon,
fn:matches("AB", "^(.*)+B")
returns false, and I don't understand why. I've ported Saxon's regex engine to Rust, and I'm also getting a false here (once I fixed another bug), which surprised me, so I verified that Saxon does the same.Looking at it, the
.*
should consume "A", and then "B" should be matched. But it doesn't do that.On regex101 all the flavors have it match https://regex101.com/r/JfmqWf/1
I'm trying to understand why it wouldn't match for the XPath regex flavor. And whether it should match or not, I think it's worthwhile adding a test case to the test suite to nail this behavior down.
This behavior is implemented inside of the Repeat op, for greedy matching. I suspect it's in
advance()
(in the Java code). I see a bug was fixed previously (3787).The text was updated successfully, but these errors were encountered: