mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 11:18:13 +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
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