mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-03 08:08:43 +00:00
LibRegex: Do not continue searching input when the sticky bit is set
This partially reverts commit a962ee020a
.
When the sticky bit is set, the global bit should basically be ignored
except by external callers who want their own special behavior. For
example, RegExp.prototype [ @@match ] will use the global flag to
accumulate consecutive matches. But on the first failure, the regex
loop should break.
This commit is contained in:
parent
222e580fa8
commit
27d3de1f17
Notes:
sideshowbarker
2024-07-17 19:46:39 +09:00
Author: https://github.com/trflynn89
Commit: 27d3de1f17
Pull-request: https://github.com/SerenityOS/serenity/pull/12295
2 changed files with 15 additions and 1 deletions
|
@ -70,3 +70,11 @@ test("escaped code points", () => {
|
|||
expect(string.match(re).groups.𝓑𝓻𝓸𝔀𝓷).toBe("brown");
|
||||
expect(string.match(re).groups.𝓑𝓻𝓸𝔀𝓷).toBe("brown");
|
||||
});
|
||||
|
||||
test("sticky and global flag set", () => {
|
||||
const string = "aaba";
|
||||
expect(string.match(/a/)).toEqual(["a"]);
|
||||
expect(string.match(/a/y)).toEqual(["a"]);
|
||||
expect(string.match(/a/g)).toEqual(["a", "a", "a"]);
|
||||
expect(string.match(/a/gy)).toEqual(["a", "a"]);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue