mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-25 17:25:08 +02:00
Add scripts for importing the V8 and WebKit regexp suites into `Tests/LibJS/Runtime/3rdparty/` and commit the imported tests. Also update the local harness helpers so these suites can run under LibJS. In particular, teach the assertion shims to compare RegExp values the way the imported tests expect and to treat `new Function(...)` throwing as a valid `assertThrows` case. This gives the regex rewrite a large bank of external conformance tests that exercise parser and matcher behavior beyond in-tree coverage.
6130 lines
198 KiB
JavaScript
6130 lines
198 KiB
JavaScript
test.skip("pcre-test-1", () => {
|
|
// WebKit assertion compatibility shim for Ladybird's test-js harness
|
|
|
|
function description(msg) {
|
|
// No-op, just used for test documentation in WebKit.
|
|
}
|
|
|
|
function shouldBe(actual_code, expected_code) {
|
|
let actual = eval(actual_code);
|
|
let expected = eval(expected_code);
|
|
if (typeof actual === "string" && typeof expected === "string") {
|
|
expect(actual).toBe(expected);
|
|
} else if (Array.isArray(actual) && Array.isArray(expected)) {
|
|
expect(actual).toEqual(expected);
|
|
} else if (actual !== null && typeof actual === "object" && expected !== null && typeof expected === "object") {
|
|
expect(actual).toEqual(expected);
|
|
} else {
|
|
expect(actual).toBe(expected);
|
|
}
|
|
}
|
|
|
|
function shouldBeTrue(code) {
|
|
expect(eval(code)).toBeTrue();
|
|
}
|
|
|
|
function shouldBeFalse(code) {
|
|
expect(eval(code)).toBeFalse();
|
|
}
|
|
|
|
function shouldBeNull(code) {
|
|
expect(eval(code)).toBeNull();
|
|
}
|
|
|
|
function shouldBeUndefined(code) {
|
|
expect(eval(code)).toBeUndefined();
|
|
}
|
|
|
|
function shouldThrow(code, expected_error) {
|
|
expect(() => eval(code)).toThrow();
|
|
}
|
|
|
|
function shouldNotThrow(code) {
|
|
eval(code);
|
|
}
|
|
|
|
description("A chunk of our port of PCRE's test suite, adapted to be more applicable to JavaScript.");
|
|
|
|
var regex0 = /the quick brown fox/;
|
|
var input0 = "the quick brown fox";
|
|
var results = ["the quick brown fox"];
|
|
shouldBe("regex0.exec(input0);", "results");
|
|
var input1 = "The quick brown FOX";
|
|
var results = null;
|
|
shouldBe("regex0.exec(input1);", "results");
|
|
var input2 = "What do you know about the quick brown fox?";
|
|
var results = ["the quick brown fox"];
|
|
shouldBe("regex0.exec(input2);", "results");
|
|
var input3 = "What do you know about THE QUICK BROWN FOX?";
|
|
var results = null;
|
|
shouldBe("regex0.exec(input3);", "results");
|
|
|
|
var regex1 = /The quick brown fox/i;
|
|
var input0 = "the quick brown fox";
|
|
var results = ["the quick brown fox"];
|
|
shouldBe("regex1.exec(input0);", "results");
|
|
var input1 = "The quick brown FOX";
|
|
var results = ["The quick brown FOX"];
|
|
shouldBe("regex1.exec(input1);", "results");
|
|
var input2 = "What do you know about the quick brown fox?";
|
|
var results = ["the quick brown fox"];
|
|
shouldBe("regex1.exec(input2);", "results");
|
|
var input3 = "What do you know about THE QUICK BROWN FOX?";
|
|
var results = ["THE QUICK BROWN FOX"];
|
|
shouldBe("regex1.exec(input3);", "results");
|
|
|
|
var regex2 = /abcd\t\n\r\f\v[\b]\071\x3b\$\\\?caxyz/;
|
|
var input0 = "abcd\t\n\r\f\v\b9;\$\\?caxyz";
|
|
var results = ["abcd\x09\x0a\x0d\x0c\x0b\x089;$\\?caxyz"];
|
|
shouldBe("regex2.exec(input0);", "results");
|
|
|
|
var regex3 = /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/;
|
|
var input0 = "abxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["abxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input0);", "results");
|
|
var input1 = "abxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["abxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input1);", "results");
|
|
var input2 = "aabxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["aabxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input2);", "results");
|
|
var input3 = "aaabxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaabxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input3);", "results");
|
|
var input4 = "aaaabxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaaabxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input4);", "results");
|
|
var input5 = "abcxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["abcxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input5);", "results");
|
|
var input6 = "aabcxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["aabcxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input6);", "results");
|
|
var input7 = "aaabcxyzpqrrrabbxyyyypAzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypAzz"];
|
|
shouldBe("regex3.exec(input7);", "results");
|
|
var input8 = "aaabcxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input8);", "results");
|
|
var input9 = "aaabcxyzpqrrrabbxyyyypqqAzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypqqAzz"];
|
|
shouldBe("regex3.exec(input9);", "results");
|
|
var input10 = "aaabcxyzpqrrrabbxyyyypqqqAzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypqqqAzz"];
|
|
shouldBe("regex3.exec(input10);", "results");
|
|
var input11 = "aaabcxyzpqrrrabbxyyyypqqqqAzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypqqqqAzz"];
|
|
shouldBe("regex3.exec(input11);", "results");
|
|
var input12 = "aaabcxyzpqrrrabbxyyyypqqqqqAzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypqqqqqAzz"];
|
|
shouldBe("regex3.exec(input12);", "results");
|
|
var input13 = "aaabcxyzpqrrrabbxyyyypqqqqqqAzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypqqqqqqAzz"];
|
|
shouldBe("regex3.exec(input13);", "results");
|
|
var input14 = "aaaabcxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaaabcxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input14);", "results");
|
|
var input15 = "abxyzzpqrrrabbxyyyypqAzz";
|
|
var results = ["abxyzzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input15);", "results");
|
|
var input16 = "aabxyzzzpqrrrabbxyyyypqAzz";
|
|
var results = ["aabxyzzzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input16);", "results");
|
|
var input17 = "aaabxyzzzzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaabxyzzzzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input17);", "results");
|
|
var input18 = "aaaabxyzzzzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaaabxyzzzzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input18);", "results");
|
|
var input19 = "abcxyzzpqrrrabbxyyyypqAzz";
|
|
var results = ["abcxyzzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input19);", "results");
|
|
var input20 = "aabcxyzzzpqrrrabbxyyyypqAzz";
|
|
var results = ["aabcxyzzzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input20);", "results");
|
|
var input21 = "aaabcxyzzzzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaabcxyzzzzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input21);", "results");
|
|
var input22 = "aaaabcxyzzzzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaaabcxyzzzzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input22);", "results");
|
|
var input23 = "aaaabcxyzzzzpqrrrabbbxyyyypqAzz";
|
|
var results = ["aaaabcxyzzzzpqrrrabbbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input23);", "results");
|
|
var input24 = "aaaabcxyzzzzpqrrrabbbxyyyyypqAzz";
|
|
var results = ["aaaabcxyzzzzpqrrrabbbxyyyyypqAzz"];
|
|
shouldBe("regex3.exec(input24);", "results");
|
|
var input25 = "aaabcxyzpqrrrabbxyyyypABzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypABzz"];
|
|
shouldBe("regex3.exec(input25);", "results");
|
|
var input26 = "aaabcxyzpqrrrabbxyyyypABBzz";
|
|
var results = ["aaabcxyzpqrrrabbxyyyypABBzz"];
|
|
shouldBe("regex3.exec(input26);", "results");
|
|
var input27 = ">>>aaabxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaabxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input27);", "results");
|
|
var input28 = ">aaaabxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["aaaabxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input28);", "results");
|
|
var input29 = ">>>>abcxyzpqrrrabbxyyyypqAzz";
|
|
var results = ["abcxyzpqrrrabbxyyyypqAzz"];
|
|
shouldBe("regex3.exec(input29);", "results");
|
|
// Failers
|
|
var input30 = "abxyzpqrrabbxyyyypqAzz";
|
|
var results = null;
|
|
shouldBe("regex3.exec(input30);", "results");
|
|
var input31 = "abxyzpqrrrrabbxyyyypqAzz";
|
|
var results = null;
|
|
shouldBe("regex3.exec(input31);", "results");
|
|
var input32 = "abxyzpqrrrabxyyyypqAzz";
|
|
var results = null;
|
|
shouldBe("regex3.exec(input32);", "results");
|
|
var input33 = "aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz";
|
|
var results = null;
|
|
shouldBe("regex3.exec(input33);", "results");
|
|
var input34 = "aaaabcxyzzzzpqrrrabbbxyyypqAzz";
|
|
var results = null;
|
|
shouldBe("regex3.exec(input34);", "results");
|
|
var input35 = "aaabcxyzpqrrrabbxyyyypqqqqqqqAzz";
|
|
var results = null;
|
|
shouldBe("regex3.exec(input35);", "results");
|
|
|
|
var regex4 = /^(abc){1,2}zz/;
|
|
var input0 = "abczz";
|
|
var results = ["abczz", "abc"];
|
|
shouldBe("regex4.exec(input0);", "results");
|
|
var input1 = "abcabczz";
|
|
var results = ["abcabczz", "abc"];
|
|
shouldBe("regex4.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "zz";
|
|
var results = null;
|
|
shouldBe("regex4.exec(input2);", "results");
|
|
var input3 = "abcabcabczz";
|
|
var results = null;
|
|
shouldBe("regex4.exec(input3);", "results");
|
|
var input4 = ">>abczz";
|
|
var results = null;
|
|
shouldBe("regex4.exec(input4);", "results");
|
|
|
|
var regex5 = /^(b+?|a){1,2}?c/;
|
|
var input0 = "bc";
|
|
var results = ["bc", "b"];
|
|
shouldBe("regex5.exec(input0);", "results");
|
|
var input1 = "bbc";
|
|
var results = ["bbc", "b"];
|
|
shouldBe("regex5.exec(input1);", "results");
|
|
var input2 = "bbbc";
|
|
var results = ["bbbc", "bb"];
|
|
shouldBe("regex5.exec(input2);", "results");
|
|
var input3 = "bac";
|
|
var results = ["bac", "a"];
|
|
shouldBe("regex5.exec(input3);", "results");
|
|
var input4 = "bbac";
|
|
var results = ["bbac", "a"];
|
|
shouldBe("regex5.exec(input4);", "results");
|
|
var input5 = "aac";
|
|
var results = ["aac", "a"];
|
|
shouldBe("regex5.exec(input5);", "results");
|
|
var input6 = "abbbbbbbbbbbc";
|
|
var results = ["abbbbbbbbbbbc", "bbbbbbbbbbb"];
|
|
shouldBe("regex5.exec(input6);", "results");
|
|
var input7 = "bbbbbbbbbbbac";
|
|
var results = ["bbbbbbbbbbbac", "a"];
|
|
shouldBe("regex5.exec(input7);", "results");
|
|
// Failers
|
|
var input8 = "aaac";
|
|
var results = null;
|
|
shouldBe("regex5.exec(input8);", "results");
|
|
var input9 = "abbbbbbbbbbbac";
|
|
var results = null;
|
|
shouldBe("regex5.exec(input9);", "results");
|
|
|
|
var regex6 = /^(b+|a){1,2}c/;
|
|
var input0 = "bc";
|
|
var results = ["bc", "b"];
|
|
shouldBe("regex6.exec(input0);", "results");
|
|
var input1 = "bbc";
|
|
var results = ["bbc", "bb"];
|
|
shouldBe("regex6.exec(input1);", "results");
|
|
var input2 = "bbbc";
|
|
var results = ["bbbc", "bbb"];
|
|
shouldBe("regex6.exec(input2);", "results");
|
|
var input3 = "bac";
|
|
var results = ["bac", "a"];
|
|
shouldBe("regex6.exec(input3);", "results");
|
|
var input4 = "bbac";
|
|
var results = ["bbac", "a"];
|
|
shouldBe("regex6.exec(input4);", "results");
|
|
var input5 = "aac";
|
|
var results = ["aac", "a"];
|
|
shouldBe("regex6.exec(input5);", "results");
|
|
var input6 = "abbbbbbbbbbbc";
|
|
var results = ["abbbbbbbbbbbc", "bbbbbbbbbbb"];
|
|
shouldBe("regex6.exec(input6);", "results");
|
|
var input7 = "bbbbbbbbbbbac";
|
|
var results = ["bbbbbbbbbbbac", "a"];
|
|
shouldBe("regex6.exec(input7);", "results");
|
|
// Failers
|
|
var input8 = "aaac";
|
|
var results = null;
|
|
shouldBe("regex6.exec(input8);", "results");
|
|
var input9 = "abbbbbbbbbbbac";
|
|
var results = null;
|
|
shouldBe("regex6.exec(input9);", "results");
|
|
|
|
var regex7 = /^(b+|a){1,2}?bc/;
|
|
var input0 = "bbc";
|
|
var results = ["bbc", "b"];
|
|
shouldBe("regex7.exec(input0);", "results");
|
|
|
|
var regex8 = /^(b*|ba){1,2}?bc/;
|
|
var input0 = "babc";
|
|
var results = ["babc", "ba"];
|
|
shouldBe("regex8.exec(input0);", "results");
|
|
var input1 = "bbabc";
|
|
var results = ["bbabc", "ba"];
|
|
shouldBe("regex8.exec(input1);", "results");
|
|
var input2 = "bababc";
|
|
var results = ["bababc", "ba"];
|
|
shouldBe("regex8.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "bababbc";
|
|
var results = null;
|
|
shouldBe("regex8.exec(input3);", "results");
|
|
var input4 = "babababc";
|
|
var results = null;
|
|
shouldBe("regex8.exec(input4);", "results");
|
|
|
|
var regex9 = /^(ba|b*){1,2}?bc/;
|
|
var input0 = "babc";
|
|
var results = ["babc", "ba"];
|
|
shouldBe("regex9.exec(input0);", "results");
|
|
var input1 = "bbabc";
|
|
var results = ["bbabc", "ba"];
|
|
shouldBe("regex9.exec(input1);", "results");
|
|
var input2 = "bababc";
|
|
var results = ["bababc", "ba"];
|
|
shouldBe("regex9.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "bababbc";
|
|
var results = null;
|
|
shouldBe("regex9.exec(input3);", "results");
|
|
var input4 = "babababc";
|
|
var results = null;
|
|
shouldBe("regex9.exec(input4);", "results");
|
|
|
|
var regex10 = /^\ca\cA/;
|
|
var input0 = "\x01\x01";
|
|
var results = ["\x01\x01"];
|
|
shouldBe("regex10.exec(input0);", "results");
|
|
|
|
var regex11 = /^[ab\]cde]/;
|
|
var input0 = "athing";
|
|
var results = ["a"];
|
|
shouldBe("regex11.exec(input0);", "results");
|
|
var input1 = "bthing";
|
|
var results = ["b"];
|
|
shouldBe("regex11.exec(input1);", "results");
|
|
var input2 = "]thing";
|
|
var results = ["]"];
|
|
shouldBe("regex11.exec(input2);", "results");
|
|
var input3 = "cthing";
|
|
var results = ["c"];
|
|
shouldBe("regex11.exec(input3);", "results");
|
|
var input4 = "dthing";
|
|
var results = ["d"];
|
|
shouldBe("regex11.exec(input4);", "results");
|
|
var input5 = "ething";
|
|
var results = ["e"];
|
|
shouldBe("regex11.exec(input5);", "results");
|
|
// Failers
|
|
var input6 = "fthing";
|
|
var results = null;
|
|
shouldBe("regex11.exec(input6);", "results");
|
|
var input7 = "[thing";
|
|
var results = null;
|
|
shouldBe("regex11.exec(input7);", "results");
|
|
var input8 = "\\thing";
|
|
var results = null;
|
|
shouldBe("regex11.exec(input8);", "results");
|
|
|
|
var regex12 = /^[\]cde]/;
|
|
var input0 = "]thing";
|
|
var results = ["]"];
|
|
shouldBe("regex12.exec(input0);", "results");
|
|
var input1 = "cthing";
|
|
var results = ["c"];
|
|
shouldBe("regex12.exec(input1);", "results");
|
|
var input2 = "dthing";
|
|
var results = ["d"];
|
|
shouldBe("regex12.exec(input2);", "results");
|
|
var input3 = "ething";
|
|
var results = ["e"];
|
|
shouldBe("regex12.exec(input3);", "results");
|
|
// Failers
|
|
var input4 = "athing";
|
|
var results = null;
|
|
shouldBe("regex12.exec(input4);", "results");
|
|
var input5 = "fthing";
|
|
var results = null;
|
|
shouldBe("regex12.exec(input5);", "results");
|
|
|
|
var regex13 = /^[^ab\]cde]/;
|
|
var input0 = "fthing";
|
|
var results = ["f"];
|
|
shouldBe("regex13.exec(input0);", "results");
|
|
var input1 = "[thing";
|
|
var results = ["["];
|
|
shouldBe("regex13.exec(input1);", "results");
|
|
var input2 = "\\thing";
|
|
var results = ["\\"];
|
|
shouldBe("regex13.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "athing";
|
|
var results = null;
|
|
shouldBe("regex13.exec(input3);", "results");
|
|
var input4 = "bthing";
|
|
var results = null;
|
|
shouldBe("regex13.exec(input4);", "results");
|
|
var input5 = "]thing";
|
|
var results = null;
|
|
shouldBe("regex13.exec(input5);", "results");
|
|
var input6 = "cthing";
|
|
var results = null;
|
|
shouldBe("regex13.exec(input6);", "results");
|
|
var input7 = "dthing";
|
|
var results = null;
|
|
shouldBe("regex13.exec(input7);", "results");
|
|
var input8 = "ething";
|
|
var results = null;
|
|
shouldBe("regex13.exec(input8);", "results");
|
|
|
|
var regex14 = /^[^\]cde]/;
|
|
var input0 = "athing";
|
|
var results = ["a"];
|
|
shouldBe("regex14.exec(input0);", "results");
|
|
var input1 = "fthing";
|
|
var results = ["f"];
|
|
shouldBe("regex14.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "]thing";
|
|
var results = null;
|
|
shouldBe("regex14.exec(input2);", "results");
|
|
var input3 = "cthing";
|
|
var results = null;
|
|
shouldBe("regex14.exec(input3);", "results");
|
|
var input4 = "dthing";
|
|
var results = null;
|
|
shouldBe("regex14.exec(input4);", "results");
|
|
var input5 = "ething";
|
|
var results = null;
|
|
shouldBe("regex14.exec(input5);", "results");
|
|
|
|
var regex15 = /^\xc2/;
|
|
var input0 = "\xc2";
|
|
var results = ["\xc2"];
|
|
shouldBe("regex15.exec(input0);", "results");
|
|
|
|
var regex16 = /^\xc3/;
|
|
var input0 = "\xc3";
|
|
var results = ["\xc3"];
|
|
shouldBe("regex16.exec(input0);", "results");
|
|
|
|
var regex17 = /^[0-9]+$/;
|
|
var input0 = "0";
|
|
var results = ["0"];
|
|
shouldBe("regex17.exec(input0);", "results");
|
|
var input1 = "1";
|
|
var results = ["1"];
|
|
shouldBe("regex17.exec(input1);", "results");
|
|
var input2 = "2";
|
|
var results = ["2"];
|
|
shouldBe("regex17.exec(input2);", "results");
|
|
var input3 = "3";
|
|
var results = ["3"];
|
|
shouldBe("regex17.exec(input3);", "results");
|
|
var input4 = "4";
|
|
var results = ["4"];
|
|
shouldBe("regex17.exec(input4);", "results");
|
|
var input5 = "5";
|
|
var results = ["5"];
|
|
shouldBe("regex17.exec(input5);", "results");
|
|
var input6 = "6";
|
|
var results = ["6"];
|
|
shouldBe("regex17.exec(input6);", "results");
|
|
var input7 = "7";
|
|
var results = ["7"];
|
|
shouldBe("regex17.exec(input7);", "results");
|
|
var input8 = "8";
|
|
var results = ["8"];
|
|
shouldBe("regex17.exec(input8);", "results");
|
|
var input9 = "9";
|
|
var results = ["9"];
|
|
shouldBe("regex17.exec(input9);", "results");
|
|
var input10 = "10";
|
|
var results = ["10"];
|
|
shouldBe("regex17.exec(input10);", "results");
|
|
var input11 = "100";
|
|
var results = ["100"];
|
|
shouldBe("regex17.exec(input11);", "results");
|
|
// Failers
|
|
var input12 = "abc";
|
|
var results = null;
|
|
shouldBe("regex17.exec(input12);", "results");
|
|
|
|
var regex18 = /^.*nter/;
|
|
var input0 = "enter";
|
|
var results = ["enter"];
|
|
shouldBe("regex18.exec(input0);", "results");
|
|
var input1 = "inter";
|
|
var results = ["inter"];
|
|
shouldBe("regex18.exec(input1);", "results");
|
|
var input2 = "uponter";
|
|
var results = ["uponter"];
|
|
shouldBe("regex18.exec(input2);", "results");
|
|
|
|
var regex19 = /^xxx[0-9]+$/;
|
|
var input0 = "xxx0";
|
|
var results = ["xxx0"];
|
|
shouldBe("regex19.exec(input0);", "results");
|
|
var input1 = "xxx1234";
|
|
var results = ["xxx1234"];
|
|
shouldBe("regex19.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "xxx";
|
|
var results = null;
|
|
shouldBe("regex19.exec(input2);", "results");
|
|
|
|
var regex20 = /^.+[0-9][0-9][0-9]$/;
|
|
var input0 = "x123";
|
|
var results = ["x123"];
|
|
shouldBe("regex20.exec(input0);", "results");
|
|
var input1 = "xx123";
|
|
var results = ["xx123"];
|
|
shouldBe("regex20.exec(input1);", "results");
|
|
var input2 = "123456";
|
|
var results = ["123456"];
|
|
shouldBe("regex20.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "123";
|
|
var results = null;
|
|
shouldBe("regex20.exec(input3);", "results");
|
|
var input4 = "x1234";
|
|
var results = ["x1234"];
|
|
shouldBe("regex20.exec(input4);", "results");
|
|
|
|
var regex21 = /^.+?[0-9][0-9][0-9]$/;
|
|
var input0 = "x123";
|
|
var results = ["x123"];
|
|
shouldBe("regex21.exec(input0);", "results");
|
|
var input1 = "xx123";
|
|
var results = ["xx123"];
|
|
shouldBe("regex21.exec(input1);", "results");
|
|
var input2 = "123456";
|
|
var results = ["123456"];
|
|
shouldBe("regex21.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "123";
|
|
var results = null;
|
|
shouldBe("regex21.exec(input3);", "results");
|
|
var input4 = "x1234";
|
|
var results = ["x1234"];
|
|
shouldBe("regex21.exec(input4);", "results");
|
|
|
|
var regex22 = /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/;
|
|
var input0 = "abc!pqr=apquxz.ixr.zzz.ac.uk";
|
|
var results = ["abc!pqr=apquxz.ixr.zzz.ac.uk", "abc", "pqr"];
|
|
shouldBe("regex22.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "!pqr=apquxz.ixr.zzz.ac.uk";
|
|
var results = null;
|
|
shouldBe("regex22.exec(input1);", "results");
|
|
var input2 = "abc!=apquxz.ixr.zzz.ac.uk";
|
|
var results = null;
|
|
shouldBe("regex22.exec(input2);", "results");
|
|
var input3 = "abc!pqr=apquxz:ixr.zzz.ac.uk";
|
|
var results = null;
|
|
shouldBe("regex22.exec(input3);", "results");
|
|
var input4 = "abc!pqr=apquxz.ixr.zzz.ac.ukk";
|
|
var results = null;
|
|
shouldBe("regex22.exec(input4);", "results");
|
|
|
|
var regex23 = /:/;
|
|
var input0 = "Well, we need a colon: somewhere";
|
|
var results = [":"];
|
|
shouldBe("regex23.exec(input0);", "results");
|
|
var input1 = "*** Fail if we don't";
|
|
var results = null;
|
|
shouldBe("regex23.exec(input1);", "results");
|
|
|
|
var regex24 = /([\da-f:]+)$/i;
|
|
var input0 = "0abc";
|
|
var results = ["0abc", "0abc"];
|
|
shouldBe("regex24.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["abc", "abc"];
|
|
shouldBe("regex24.exec(input1);", "results");
|
|
var input2 = "fed";
|
|
var results = ["fed", "fed"];
|
|
shouldBe("regex24.exec(input2);", "results");
|
|
var input3 = "E";
|
|
var results = ["E", "E"];
|
|
shouldBe("regex24.exec(input3);", "results");
|
|
var input4 = "::";
|
|
var results = ["::", "::"];
|
|
shouldBe("regex24.exec(input4);", "results");
|
|
var input5 = "5f03:12C0::932e";
|
|
var results = ["5f03:12C0::932e", "5f03:12C0::932e"];
|
|
shouldBe("regex24.exec(input5);", "results");
|
|
var input6 = "fed def";
|
|
var results = ["def", "def"];
|
|
shouldBe("regex24.exec(input6);", "results");
|
|
var input7 = "Any old stuff";
|
|
var results = ["ff", "ff"];
|
|
shouldBe("regex24.exec(input7);", "results");
|
|
// Failers
|
|
var input8 = "0zzz";
|
|
var results = null;
|
|
shouldBe("regex24.exec(input8);", "results");
|
|
var input9 = "gzzz";
|
|
var results = null;
|
|
shouldBe("regex24.exec(input9);", "results");
|
|
var input10 = "fed\x20";
|
|
var results = null;
|
|
shouldBe("regex24.exec(input10);", "results");
|
|
var input11 = "Any old rubbish";
|
|
var results = null;
|
|
shouldBe("regex24.exec(input11);", "results");
|
|
|
|
var regex25 = /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
|
|
var input0 = ".1.2.3";
|
|
var results = [".1.2.3", "1", "2", "3"];
|
|
shouldBe("regex25.exec(input0);", "results");
|
|
var input1 = "A.12.123.0";
|
|
var results = ["A.12.123.0", "12", "123", "0"];
|
|
shouldBe("regex25.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = ".1.2.3333";
|
|
var results = null;
|
|
shouldBe("regex25.exec(input2);", "results");
|
|
var input3 = "1.2.3";
|
|
var results = null;
|
|
shouldBe("regex25.exec(input3);", "results");
|
|
var input4 = "1234.2.3";
|
|
var results = null;
|
|
shouldBe("regex25.exec(input4);", "results");
|
|
|
|
var regex26 = /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/;
|
|
var input0 = "1 IN SOA non-sp1 non-sp2(";
|
|
var results = ["1 IN SOA non-sp1 non-sp2(", "1", "non-sp1", "non-sp2"];
|
|
shouldBe("regex26.exec(input0);", "results");
|
|
var input1 = "1 IN SOA non-sp1 non-sp2 (";
|
|
var results = ["1 IN SOA non-sp1 non-sp2 (", "1", "non-sp1", "non-sp2"];
|
|
shouldBe("regex26.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "1IN SOA non-sp1 non-sp2(";
|
|
var results = null;
|
|
shouldBe("regex26.exec(input2);", "results");
|
|
|
|
var regex27 = /^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/;
|
|
var input0 = "a.";
|
|
var results = ["a.", undefined];
|
|
shouldBe("regex27.exec(input0);", "results");
|
|
var input1 = "Z.";
|
|
var results = ["Z.", undefined];
|
|
shouldBe("regex27.exec(input1);", "results");
|
|
var input2 = "2.";
|
|
var results = ["2.", undefined];
|
|
shouldBe("regex27.exec(input2);", "results");
|
|
var input3 = "ab-c.pq-r.";
|
|
var results = ["ab-c.pq-r.", ".pq-r"];
|
|
shouldBe("regex27.exec(input3);", "results");
|
|
var input4 = "sxk.zzz.ac.uk.";
|
|
var results = ["sxk.zzz.ac.uk.", ".uk"];
|
|
shouldBe("regex27.exec(input4);", "results");
|
|
var input5 = "x-.y-.";
|
|
var results = ["x-.y-.", ".y-"];
|
|
shouldBe("regex27.exec(input5);", "results");
|
|
// Failers
|
|
var input6 = "-abc.peq.";
|
|
var results = null;
|
|
shouldBe("regex27.exec(input6);", "results");
|
|
|
|
var regex28 = /^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/;
|
|
var input0 = "*.a";
|
|
var results = ["*.a", undefined, undefined, undefined];
|
|
shouldBe("regex28.exec(input0);", "results");
|
|
var input1 = "*.b0-a";
|
|
var results = ["*.b0-a", "0-a", undefined, undefined];
|
|
shouldBe("regex28.exec(input1);", "results");
|
|
var input2 = "*.c3-b.c";
|
|
var results = ["*.c3-b.c", "3-b", ".c", undefined];
|
|
shouldBe("regex28.exec(input2);", "results");
|
|
var input3 = "*.c-a.b-c";
|
|
var results = ["*.c-a.b-c", "-a", ".b-c", "-c"];
|
|
shouldBe("regex28.exec(input3);", "results");
|
|
// Failers
|
|
var input4 = "*.0";
|
|
var results = null;
|
|
shouldBe("regex28.exec(input4);", "results");
|
|
var input5 = "*.a-";
|
|
var results = null;
|
|
shouldBe("regex28.exec(input5);", "results");
|
|
var input6 = "*.a-b.c-";
|
|
var results = null;
|
|
shouldBe("regex28.exec(input6);", "results");
|
|
var input7 = "*.c-a.0-c";
|
|
var results = null;
|
|
shouldBe("regex28.exec(input7);", "results");
|
|
|
|
var regex29 = /^(?=ab(de))(abd)(e)/;
|
|
var input0 = "abde";
|
|
var results = ["abde", "de", "abd", "e"];
|
|
shouldBe("regex29.exec(input0);", "results");
|
|
|
|
var regex30 = /^(?!(ab)de|x)(abd)(f)/;
|
|
var input0 = "abdf";
|
|
var results = ["abdf", undefined, "abd", "f"];
|
|
shouldBe("regex30.exec(input0);", "results");
|
|
|
|
var regex31 = /^(?=(ab(cd)))(ab)/;
|
|
var input0 = "abcd";
|
|
var results = ["ab", "abcd", "cd", "ab"];
|
|
shouldBe("regex31.exec(input0);", "results");
|
|
|
|
var regex32 = /^[\da-f](\.[\da-f])*$/i;
|
|
var input0 = "a.b.c.d";
|
|
var results = ["a.b.c.d", ".d"];
|
|
shouldBe("regex32.exec(input0);", "results");
|
|
var input1 = "A.B.C.D";
|
|
var results = ["A.B.C.D", ".D"];
|
|
shouldBe("regex32.exec(input1);", "results");
|
|
var input2 = "a.b.c.1.2.3.C";
|
|
var results = ["a.b.c.1.2.3.C", ".C"];
|
|
shouldBe("regex32.exec(input2);", "results");
|
|
|
|
var regex33 = /^\".*\"\s*(;.*)?$/;
|
|
var input0 = '"1234"';
|
|
var results = ['"1234"', undefined];
|
|
shouldBe("regex33.exec(input0);", "results");
|
|
var input1 = '"abcd" ;';
|
|
var results = ['"abcd" ;', ";"];
|
|
shouldBe("regex33.exec(input1);", "results");
|
|
var input2 = '"" ; rhubarb';
|
|
var results = ['"" ; rhubarb', "; rhubarb"];
|
|
shouldBe("regex33.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = '"1234" : things';
|
|
var results = null;
|
|
shouldBe("regex33.exec(input3);", "results");
|
|
|
|
var regex34 = /^$/;
|
|
var input0 = "";
|
|
var results = [""];
|
|
shouldBe("regex34.exec(input0);", "results");
|
|
|
|
var regex35 = /^a\ b[c ]d$/;
|
|
var input0 = "a bcd";
|
|
var results = ["a bcd"];
|
|
shouldBe("regex35.exec(input0);", "results");
|
|
var input1 = "a b d";
|
|
var results = ["a b d"];
|
|
shouldBe("regex35.exec(input1);", "results");
|
|
var input2 = "abcd";
|
|
var results = null;
|
|
shouldBe("regex35.exec(input2);", "results");
|
|
var input3 = "ab d";
|
|
var results = null;
|
|
shouldBe("regex35.exec(input3);", "results");
|
|
|
|
var regex36 = /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/;
|
|
var input0 = "abcdefhijklm";
|
|
var results = ["abcdefhijklm", "abc", "bc", "c", "def", "ef", "f", "hij", "ij", "j", "klm", "lm", "m"];
|
|
shouldBe("regex36.exec(input0);", "results");
|
|
|
|
var regex37 = /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/;
|
|
var input0 = "abcdefhijklm";
|
|
var results = ["abcdefhijklm", "bc", "c", "ef", "f", "ij", "j", "lm", "m"];
|
|
shouldBe("regex37.exec(input0);", "results");
|
|
|
|
var regex38 = /^[\w][\W][\s][\S][\d][\D][\n][\cc][\022]/;
|
|
var input0 = "a+ Z0+\n\x03\x12";
|
|
var results = ["a+ Z0+\x0a\x03\x12"];
|
|
shouldBe("regex38.exec(input0);", "results");
|
|
|
|
var regex39 = /^[.^$|()*+?{,}]+/;
|
|
var input0 = ".^\$(*+)|{?,?}";
|
|
var results = [".^$(*+)|{?,?}"];
|
|
shouldBe("regex39.exec(input0);", "results");
|
|
|
|
var regex40 = /^a*\w/;
|
|
var input0 = "z";
|
|
var results = ["z"];
|
|
shouldBe("regex40.exec(input0);", "results");
|
|
var input1 = "az";
|
|
var results = ["az"];
|
|
shouldBe("regex40.exec(input1);", "results");
|
|
var input2 = "aaaz";
|
|
var results = ["aaaz"];
|
|
shouldBe("regex40.exec(input2);", "results");
|
|
var input3 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex40.exec(input3);", "results");
|
|
var input4 = "aa";
|
|
var results = ["aa"];
|
|
shouldBe("regex40.exec(input4);", "results");
|
|
var input5 = "aaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex40.exec(input5);", "results");
|
|
var input6 = "a+";
|
|
var results = ["a"];
|
|
shouldBe("regex40.exec(input6);", "results");
|
|
var input7 = "aa+";
|
|
var results = ["aa"];
|
|
shouldBe("regex40.exec(input7);", "results");
|
|
|
|
var regex41 = /^a*?\w/;
|
|
var input0 = "z";
|
|
var results = ["z"];
|
|
shouldBe("regex41.exec(input0);", "results");
|
|
var input1 = "az";
|
|
var results = ["a"];
|
|
shouldBe("regex41.exec(input1);", "results");
|
|
var input2 = "aaaz";
|
|
var results = ["a"];
|
|
shouldBe("regex41.exec(input2);", "results");
|
|
var input3 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex41.exec(input3);", "results");
|
|
var input4 = "aa";
|
|
var results = ["a"];
|
|
shouldBe("regex41.exec(input4);", "results");
|
|
var input5 = "aaaa";
|
|
var results = ["a"];
|
|
shouldBe("regex41.exec(input5);", "results");
|
|
var input6 = "a+";
|
|
var results = ["a"];
|
|
shouldBe("regex41.exec(input6);", "results");
|
|
var input7 = "aa+";
|
|
var results = ["a"];
|
|
shouldBe("regex41.exec(input7);", "results");
|
|
|
|
var regex42 = /^a+\w/;
|
|
var input0 = "az";
|
|
var results = ["az"];
|
|
shouldBe("regex42.exec(input0);", "results");
|
|
var input1 = "aaaz";
|
|
var results = ["aaaz"];
|
|
shouldBe("regex42.exec(input1);", "results");
|
|
var input2 = "aa";
|
|
var results = ["aa"];
|
|
shouldBe("regex42.exec(input2);", "results");
|
|
var input3 = "aaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex42.exec(input3);", "results");
|
|
var input4 = "aa+";
|
|
var results = ["aa"];
|
|
shouldBe("regex42.exec(input4);", "results");
|
|
|
|
var regex43 = /^a+?\w/;
|
|
var input0 = "az";
|
|
var results = ["az"];
|
|
shouldBe("regex43.exec(input0);", "results");
|
|
var input1 = "aaaz";
|
|
var results = ["aa"];
|
|
shouldBe("regex43.exec(input1);", "results");
|
|
var input2 = "aa";
|
|
var results = ["aa"];
|
|
shouldBe("regex43.exec(input2);", "results");
|
|
var input3 = "aaaa";
|
|
var results = ["aa"];
|
|
shouldBe("regex43.exec(input3);", "results");
|
|
var input4 = "aa+";
|
|
var results = ["aa"];
|
|
shouldBe("regex43.exec(input4);", "results");
|
|
|
|
var regex44 = /^\d{8}\w{2,}/;
|
|
var input0 = "1234567890";
|
|
var results = ["1234567890"];
|
|
shouldBe("regex44.exec(input0);", "results");
|
|
var input1 = "12345678ab";
|
|
var results = ["12345678ab"];
|
|
shouldBe("regex44.exec(input1);", "results");
|
|
var input2 = "12345678__";
|
|
var results = ["12345678__"];
|
|
shouldBe("regex44.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "1234567";
|
|
var results = null;
|
|
shouldBe("regex44.exec(input3);", "results");
|
|
|
|
var regex45 = /^[aeiou\d]{4,5}$/;
|
|
var input0 = "uoie";
|
|
var results = ["uoie"];
|
|
shouldBe("regex45.exec(input0);", "results");
|
|
var input1 = "1234";
|
|
var results = ["1234"];
|
|
shouldBe("regex45.exec(input1);", "results");
|
|
var input2 = "12345";
|
|
var results = ["12345"];
|
|
shouldBe("regex45.exec(input2);", "results");
|
|
var input3 = "aaaaa";
|
|
var results = ["aaaaa"];
|
|
shouldBe("regex45.exec(input3);", "results");
|
|
// Failers
|
|
var input4 = "123456";
|
|
var results = null;
|
|
shouldBe("regex45.exec(input4);", "results");
|
|
|
|
var regex46 = /^[aeiou\d]{4,5}?/;
|
|
var input0 = "uoie";
|
|
var results = ["uoie"];
|
|
shouldBe("regex46.exec(input0);", "results");
|
|
var input1 = "1234";
|
|
var results = ["1234"];
|
|
shouldBe("regex46.exec(input1);", "results");
|
|
var input2 = "12345";
|
|
var results = ["1234"];
|
|
shouldBe("regex46.exec(input2);", "results");
|
|
var input3 = "aaaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex46.exec(input3);", "results");
|
|
var input4 = "123456";
|
|
var results = ["1234"];
|
|
shouldBe("regex46.exec(input4);", "results");
|
|
|
|
var regex47 = /^(abc|def)=(\1){2,3}$/;
|
|
var input0 = "abc=abcabc";
|
|
var results = ["abc=abcabc", "abc", "abc"];
|
|
shouldBe("regex47.exec(input0);", "results");
|
|
var input1 = "def=defdefdef";
|
|
var results = ["def=defdefdef", "def", "def"];
|
|
shouldBe("regex47.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "abc=defdef";
|
|
var results = null;
|
|
shouldBe("regex47.exec(input2);", "results");
|
|
|
|
var regex48 = /^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\11*(\3\4)\1(?:)2$/;
|
|
var input0 = "abcdefghijkcda2";
|
|
var results = ["abcdefghijkcda2", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "cd"];
|
|
shouldBe("regex48.exec(input0);", "results");
|
|
var input1 = "abcdefghijkkkkcda2";
|
|
var results = ["abcdefghijkkkkcda2", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "cd"];
|
|
shouldBe("regex48.exec(input1);", "results");
|
|
|
|
var regex49 = /(cat(a(ract|tonic)|erpillar)) \1()2(3)/;
|
|
var input0 = "cataract cataract23";
|
|
var results = ["cataract cataract23", "cataract", "aract", "ract", "", "3"];
|
|
shouldBe("regex49.exec(input0);", "results");
|
|
var input1 = "catatonic catatonic23";
|
|
var results = ["catatonic catatonic23", "catatonic", "atonic", "tonic", "", "3"];
|
|
shouldBe("regex49.exec(input1);", "results");
|
|
var input2 = "caterpillar caterpillar23";
|
|
var results = ["caterpillar caterpillar23", "caterpillar", "erpillar", undefined, "", "3"];
|
|
shouldBe("regex49.exec(input2);", "results");
|
|
|
|
var regex50 =
|
|
/^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/;
|
|
var input0 = "From abcd Mon Sep 01 12:33:02 1997";
|
|
var results = ["From abcd Mon Sep 01 12:33", "abcd"];
|
|
shouldBe("regex50.exec(input0);", "results");
|
|
|
|
var regex51 = /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/;
|
|
var input0 = "From abcd Mon Sep 01 12:33:02 1997";
|
|
var results = ["From abcd Mon Sep 01 12:33", "Sep "];
|
|
shouldBe("regex51.exec(input0);", "results");
|
|
var input1 = "From abcd Mon Sep 1 12:33:02 1997";
|
|
var results = ["From abcd Mon Sep 1 12:33", "Sep "];
|
|
shouldBe("regex51.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "From abcd Sep 01 12:33:02 1997";
|
|
var results = null;
|
|
shouldBe("regex51.exec(input2);", "results");
|
|
|
|
var regex52 = /^12.34/;
|
|
// Failers
|
|
var input0 = "12\n34";
|
|
var results = null;
|
|
shouldBe("regex52.exec(input0);", "results");
|
|
var input1 = "12\r34";
|
|
var results = null;
|
|
shouldBe("regex52.exec(input1);", "results");
|
|
|
|
var regex53 = /\w+(?=\t)/;
|
|
var input0 = "the quick brown\t fox";
|
|
var results = ["brown"];
|
|
shouldBe("regex53.exec(input0);", "results");
|
|
|
|
var regex54 = /foo(?!bar)(.*)/;
|
|
var input0 = "foobar is foolish see?";
|
|
var results = ["foolish see?", "lish see?"];
|
|
shouldBe("regex54.exec(input0);", "results");
|
|
|
|
var regex55 = /(?:(?!foo)...|^.{0,2})bar(.*)/;
|
|
var input0 = "foobar crowbar etc";
|
|
var results = ["rowbar etc", " etc"];
|
|
shouldBe("regex55.exec(input0);", "results");
|
|
var input1 = "barrel";
|
|
var results = ["barrel", "rel"];
|
|
shouldBe("regex55.exec(input1);", "results");
|
|
var input2 = "2barrel";
|
|
var results = ["2barrel", "rel"];
|
|
shouldBe("regex55.exec(input2);", "results");
|
|
var input3 = "A barrel";
|
|
var results = ["A barrel", "rel"];
|
|
shouldBe("regex55.exec(input3);", "results");
|
|
|
|
var regex56 = /^(\D*)(?=\d)(?!123)/;
|
|
var input0 = "abc456";
|
|
var results = ["abc", "abc"];
|
|
shouldBe("regex56.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abc123";
|
|
var results = null;
|
|
shouldBe("regex56.exec(input1);", "results");
|
|
|
|
var regex57 = /^(a)\1{2,3}(.)/;
|
|
var input0 = "aaab";
|
|
var results = ["aaab", "a", "b"];
|
|
shouldBe("regex57.exec(input0);", "results");
|
|
var input1 = "aaaab";
|
|
var results = ["aaaab", "a", "b"];
|
|
shouldBe("regex57.exec(input1);", "results");
|
|
var input2 = "aaaaab";
|
|
var results = ["aaaaa", "a", "a"];
|
|
shouldBe("regex57.exec(input2);", "results");
|
|
var input3 = "aaaaaab";
|
|
var results = ["aaaaa", "a", "a"];
|
|
shouldBe("regex57.exec(input3);", "results");
|
|
|
|
var regex58 = /(?!^)abc/;
|
|
var input0 = "the abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex58.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abc";
|
|
var results = null;
|
|
shouldBe("regex58.exec(input1);", "results");
|
|
|
|
var regex59 = /(?=^)abc/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex59.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "the abc";
|
|
var results = null;
|
|
shouldBe("regex59.exec(input1);", "results");
|
|
|
|
var regex60 = /^[ab]{1,3}(ab*|b)/;
|
|
var input0 = "aabbbbb";
|
|
var results = ["aabb", "b"];
|
|
shouldBe("regex60.exec(input0);", "results");
|
|
|
|
var regex61 = /^[ab]{1,3}?(ab*|b)/;
|
|
var input0 = "aabbbbb";
|
|
var results = ["aabbbbb", "abbbbb"];
|
|
shouldBe("regex61.exec(input0);", "results");
|
|
|
|
var regex62 = /^[ab]{1,3}?(ab*?|b)/;
|
|
var input0 = "aabbbbb";
|
|
var results = ["aa", "a"];
|
|
shouldBe("regex62.exec(input0);", "results");
|
|
|
|
var regex63 = /^[ab]{1,3}(ab*?|b)/;
|
|
var input0 = "aabbbbb";
|
|
var results = ["aabb", "b"];
|
|
shouldBe("regex63.exec(input0);", "results");
|
|
|
|
var regex64 = /abc\0def\00pqr\000xyz\0000AB/;
|
|
var input0 = "abc\0def\0pqr\0xyz\0" + "0AB";
|
|
var results = ["abc\0def\0pqr\0xyz\0" + "0AB"];
|
|
shouldBe("regex64.exec(input0);", "results");
|
|
var input1 = "abc456 abc\0def\0pqr\0xyz\0" + "0ABCDE";
|
|
var results = ["abc\0def\0pqr\0xyz\0" + "0AB"];
|
|
shouldBe("regex64.exec(input1);", "results");
|
|
|
|
var regex65 = /abc\x0def\x00pqr\x000xyz\x0000AB/;
|
|
var input0 = "abc\x0def\x00pqr\x000xyz\x0000AB";
|
|
var results = ["abc\x0def\x00pqr\x000xyz\x0000AB"];
|
|
shouldBe("regex65.exec(input0);", "results");
|
|
var input1 = "abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE";
|
|
var results = ["abc\x0def\x00pqr\x000xyz\x0000AB"];
|
|
shouldBe("regex65.exec(input1);", "results");
|
|
|
|
var regex66 = /^[\000-\037]/;
|
|
var input0 = "\0A";
|
|
var results = ["\x00"];
|
|
shouldBe("regex66.exec(input0);", "results");
|
|
var input1 = "\01B";
|
|
var results = ["\x01"];
|
|
shouldBe("regex66.exec(input1);", "results");
|
|
var input2 = "\037C";
|
|
var results = ["\x1f"];
|
|
shouldBe("regex66.exec(input2);", "results");
|
|
|
|
var regex67 = /\0*/;
|
|
var input0 = "\0\0\0\0";
|
|
var results = ["\x00\x00\x00\x00"];
|
|
shouldBe("regex67.exec(input0);", "results");
|
|
|
|
var regex68 = /A\0{2,3}Z/;
|
|
var input0 = "The A\0\0Z";
|
|
var results = ["A\x00\x00Z"];
|
|
shouldBe("regex68.exec(input0);", "results");
|
|
var input1 = "An A\0\0\0Z";
|
|
var results = ["A\x00\x00\x00Z"];
|
|
shouldBe("regex68.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "A\0Z";
|
|
var results = null;
|
|
shouldBe("regex68.exec(input2);", "results");
|
|
var input3 = "A\0\0\0\0Z";
|
|
var results = null;
|
|
shouldBe("regex68.exec(input3);", "results");
|
|
|
|
var regex69 = /^(cow|)\1(bell)/;
|
|
var input0 = "cowcowbell";
|
|
var results = ["cowcowbell", "cow", "bell"];
|
|
shouldBe("regex69.exec(input0);", "results");
|
|
var input1 = "bell";
|
|
var results = ["bell", "", "bell"];
|
|
shouldBe("regex69.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "cowbell";
|
|
var results = null;
|
|
shouldBe("regex69.exec(input2);", "results");
|
|
|
|
var regex70 = /^\s/;
|
|
var input0 = "\040abc";
|
|
var results = [" "];
|
|
shouldBe("regex70.exec(input0);", "results");
|
|
var input1 = "\x0cabc";
|
|
var results = ["\x0c"];
|
|
shouldBe("regex70.exec(input1);", "results");
|
|
var input2 = "\nabc";
|
|
var results = ["\x0a"];
|
|
shouldBe("regex70.exec(input2);", "results");
|
|
var input3 = "\rabc";
|
|
var results = ["\x0d"];
|
|
shouldBe("regex70.exec(input3);", "results");
|
|
var input4 = "\tabc";
|
|
var results = ["\x09"];
|
|
shouldBe("regex70.exec(input4);", "results");
|
|
// Failers
|
|
var input5 = "abc";
|
|
var results = null;
|
|
shouldBe("regex70.exec(input5);", "results");
|
|
|
|
var regex71 = /^(a|)\1*b/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "a"];
|
|
shouldBe("regex71.exec(input0);", "results");
|
|
var input1 = "aaaab";
|
|
var results = ["aaaab", "a"];
|
|
shouldBe("regex71.exec(input1);", "results");
|
|
var input2 = "b";
|
|
var results = ["b", ""];
|
|
shouldBe("regex71.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "acb";
|
|
var results = null;
|
|
shouldBe("regex71.exec(input3);", "results");
|
|
|
|
var regex72 = /^(a|)\1+b/;
|
|
var input0 = "aab";
|
|
var results = ["aab", "a"];
|
|
shouldBe("regex72.exec(input0);", "results");
|
|
var input1 = "aaaab";
|
|
var results = ["aaaab", "a"];
|
|
shouldBe("regex72.exec(input1);", "results");
|
|
var input2 = "b";
|
|
var results = ["b", ""];
|
|
shouldBe("regex72.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "ab";
|
|
var results = null;
|
|
shouldBe("regex72.exec(input3);", "results");
|
|
|
|
var regex73 = /^(a|)\1?b/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "a"];
|
|
shouldBe("regex73.exec(input0);", "results");
|
|
var input1 = "aab";
|
|
var results = ["aab", "a"];
|
|
shouldBe("regex73.exec(input1);", "results");
|
|
var input2 = "b";
|
|
var results = ["b", ""];
|
|
shouldBe("regex73.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "acb";
|
|
var results = null;
|
|
shouldBe("regex73.exec(input3);", "results");
|
|
|
|
var regex74 = /^(a|)\1{2}b/;
|
|
var input0 = "aaab";
|
|
var results = ["aaab", "a"];
|
|
shouldBe("regex74.exec(input0);", "results");
|
|
var input1 = "b";
|
|
var results = ["b", ""];
|
|
shouldBe("regex74.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "ab";
|
|
var results = null;
|
|
shouldBe("regex74.exec(input2);", "results");
|
|
var input3 = "aab";
|
|
var results = null;
|
|
shouldBe("regex74.exec(input3);", "results");
|
|
var input4 = "aaaab";
|
|
var results = null;
|
|
shouldBe("regex74.exec(input4);", "results");
|
|
|
|
var regex75 = /^(a|)\1{2,3}b/;
|
|
var input0 = "aaab";
|
|
var results = ["aaab", "a"];
|
|
shouldBe("regex75.exec(input0);", "results");
|
|
var input1 = "aaaab";
|
|
var results = ["aaaab", "a"];
|
|
shouldBe("regex75.exec(input1);", "results");
|
|
var input2 = "b";
|
|
var results = ["b", ""];
|
|
shouldBe("regex75.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "ab";
|
|
var results = null;
|
|
shouldBe("regex75.exec(input3);", "results");
|
|
var input4 = "aab";
|
|
var results = null;
|
|
shouldBe("regex75.exec(input4);", "results");
|
|
var input5 = "aaaaab";
|
|
var results = null;
|
|
shouldBe("regex75.exec(input5);", "results");
|
|
|
|
var regex76 = /ab{1,3}bc/;
|
|
var input0 = "abbbbc";
|
|
var results = ["abbbbc"];
|
|
shouldBe("regex76.exec(input0);", "results");
|
|
var input1 = "abbbc";
|
|
var results = ["abbbc"];
|
|
shouldBe("regex76.exec(input1);", "results");
|
|
var input2 = "abbc";
|
|
var results = ["abbc"];
|
|
shouldBe("regex76.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "abc";
|
|
var results = null;
|
|
shouldBe("regex76.exec(input3);", "results");
|
|
var input4 = "abbbbbc";
|
|
var results = null;
|
|
shouldBe("regex76.exec(input4);", "results");
|
|
|
|
var regex77 = /([^.]*)\.([^:]*):[T ]+(.*)/;
|
|
var input0 = "track1.title:TBlah blah blah";
|
|
var results = ["track1.title:TBlah blah blah", "track1", "title", "Blah blah blah"];
|
|
shouldBe("regex77.exec(input0);", "results");
|
|
|
|
var regex78 = /([^.]*)\.([^:]*):[T ]+(.*)/i;
|
|
var input0 = "track1.title:TBlah blah blah";
|
|
var results = ["track1.title:TBlah blah blah", "track1", "title", "Blah blah blah"];
|
|
shouldBe("regex78.exec(input0);", "results");
|
|
|
|
var regex79 = /([^.]*)\.([^:]*):[t ]+(.*)/i;
|
|
var input0 = "track1.title:TBlah blah blah";
|
|
var results = ["track1.title:TBlah blah blah", "track1", "title", "Blah blah blah"];
|
|
shouldBe("regex79.exec(input0);", "results");
|
|
|
|
var regex80 = /^[W-c]+$/;
|
|
var input0 = "WXY_^abc";
|
|
var results = ["WXY_^abc"];
|
|
shouldBe("regex80.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "wxy";
|
|
var results = null;
|
|
shouldBe("regex80.exec(input1);", "results");
|
|
|
|
var regex81 = /^[W-c]+$/i;
|
|
var input0 = "WXY_^abc";
|
|
var results = ["WXY_^abc"];
|
|
shouldBe("regex81.exec(input0);", "results");
|
|
var input1 = "wxy_^ABC";
|
|
var results = ["wxy_^ABC"];
|
|
shouldBe("regex81.exec(input1);", "results");
|
|
|
|
var regex82 = /^[\x3f-\x5F]+$/i;
|
|
var input0 = "WXY_^abc";
|
|
var results = ["WXY_^abc"];
|
|
shouldBe("regex82.exec(input0);", "results");
|
|
var input1 = "wxy_^ABC";
|
|
var results = ["wxy_^ABC"];
|
|
shouldBe("regex82.exec(input1);", "results");
|
|
|
|
var regex83 = /^abc$/m;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex83.exec(input0);", "results");
|
|
var input1 = "qqq\nabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex83.exec(input1);", "results");
|
|
var input2 = "abc\nzzz";
|
|
var results = ["abc"];
|
|
shouldBe("regex83.exec(input2);", "results");
|
|
var input3 = "qqq\nabc\nzzz";
|
|
var results = ["abc"];
|
|
shouldBe("regex83.exec(input3);", "results");
|
|
|
|
var regex84 = /^abc$/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex84.exec(input0);", "results");
|
|
var input1 = "abbbbc";
|
|
var results = null;
|
|
shouldBe("regex84.exec(input1);", "results");
|
|
var input2 = "abcc";
|
|
var results = null;
|
|
shouldBe("regex84.exec(input2);", "results");
|
|
var input3 = "qqq\nabc";
|
|
var results = null;
|
|
shouldBe("regex84.exec(input3);", "results");
|
|
var input4 = "abc\nzzz";
|
|
var results = null;
|
|
shouldBe("regex84.exec(input4);", "results");
|
|
var input5 = "qqq\nabc\nzzz";
|
|
var results = null;
|
|
shouldBe("regex84.exec(input5);", "results");
|
|
|
|
var regex85 = /^abc$/m;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex85.exec(input0);", "results");
|
|
var input1 = "abc\n";
|
|
var results = ["abc"];
|
|
shouldBe("regex85.exec(input1);", "results");
|
|
var input2 = "qqq\nabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex85.exec(input2);", "results");
|
|
var input3 = "abc\nzzz";
|
|
var results = ["abc"];
|
|
shouldBe("regex85.exec(input3);", "results");
|
|
var input4 = "qqq\nabc\nzzz";
|
|
var results = ["abc"];
|
|
shouldBe("regex85.exec(input4);", "results");
|
|
|
|
var regex86 = /^([\w\W])*$/;
|
|
var input0 = "abc\ndef";
|
|
var results = ["abc\x0adef", "f"];
|
|
shouldBe("regex86.exec(input0);", "results");
|
|
|
|
var regex87 = /^(.)*$/m;
|
|
var input0 = "abc\ndef";
|
|
var results = ["abc", "c"];
|
|
shouldBe("regex87.exec(input0);", "results");
|
|
|
|
var regex88 = /(?:b)|(?::+)/;
|
|
var input0 = "b::c";
|
|
var results = ["b"];
|
|
shouldBe("regex88.exec(input0);", "results");
|
|
var input1 = "c::b";
|
|
var results = ["::"];
|
|
shouldBe("regex88.exec(input1);", "results");
|
|
|
|
var regex89 = /[-az]+/;
|
|
var input0 = "az-";
|
|
var results = ["az-"];
|
|
shouldBe("regex89.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "b";
|
|
var results = null;
|
|
shouldBe("regex89.exec(input1);", "results");
|
|
|
|
var regex90 = /[az-]+/;
|
|
var input0 = "za-";
|
|
var results = ["za-"];
|
|
shouldBe("regex90.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "b";
|
|
var results = null;
|
|
shouldBe("regex90.exec(input1);", "results");
|
|
|
|
var regex91 = /[a\-z]+/;
|
|
var input0 = "a-z";
|
|
var results = ["a-z"];
|
|
shouldBe("regex91.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "b";
|
|
var results = null;
|
|
shouldBe("regex91.exec(input1);", "results");
|
|
|
|
var regex92 = /[a-z]+/;
|
|
var input0 = "abcdxyz";
|
|
var results = ["abcdxyz"];
|
|
shouldBe("regex92.exec(input0);", "results");
|
|
|
|
var regex93 = /[\d-]+/;
|
|
var input0 = "12-34";
|
|
var results = ["12-34"];
|
|
shouldBe("regex93.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "aaa";
|
|
var results = null;
|
|
shouldBe("regex93.exec(input1);", "results");
|
|
|
|
var regex94 = /[\d-z]+/;
|
|
var input0 = "12-34z";
|
|
var results = ["12-34z"];
|
|
shouldBe("regex94.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "aaa";
|
|
var results = null;
|
|
shouldBe("regex94.exec(input1);", "results");
|
|
|
|
var regex95 = /\x5c/;
|
|
var input0 = "\\";
|
|
var results = ["\\"];
|
|
shouldBe("regex95.exec(input0);", "results");
|
|
|
|
var regex96 = /\x20Z/;
|
|
var input0 = "the Zoo";
|
|
var results = [" Z"];
|
|
shouldBe("regex96.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "Zulu";
|
|
var results = null;
|
|
shouldBe("regex96.exec(input1);", "results");
|
|
|
|
var regex97 = /(abc)\1/i;
|
|
var input0 = "abcabc";
|
|
var results = ["abcabc", "abc"];
|
|
shouldBe("regex97.exec(input0);", "results");
|
|
var input1 = "ABCabc";
|
|
var results = ["ABCabc", "ABC"];
|
|
shouldBe("regex97.exec(input1);", "results");
|
|
var input2 = "abcABC";
|
|
var results = ["abcABC", "abc"];
|
|
shouldBe("regex97.exec(input2);", "results");
|
|
|
|
var regex98 = /ab{3cd/;
|
|
var input0 = "ab{3cd";
|
|
var results = ["ab{3cd"];
|
|
shouldBe("regex98.exec(input0);", "results");
|
|
|
|
var regex99 = /ab{3,cd/;
|
|
var input0 = "ab{3,cd";
|
|
var results = ["ab{3,cd"];
|
|
shouldBe("regex99.exec(input0);", "results");
|
|
|
|
var regex100 = /ab{3,4a}cd/;
|
|
var input0 = "ab{3,4a}cd";
|
|
var results = ["ab{3,4a}cd"];
|
|
shouldBe("regex100.exec(input0);", "results");
|
|
|
|
var regex101 = /{4,5a}bc/;
|
|
var input0 = "{4,5a}bc";
|
|
var results = ["{4,5a}bc"];
|
|
shouldBe("regex101.exec(input0);", "results");
|
|
|
|
var regex102 = /abc$/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex102.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abc\n";
|
|
var results = null;
|
|
shouldBe("regex102.exec(input1);", "results");
|
|
var input2 = "abc\ndef";
|
|
var results = null;
|
|
shouldBe("regex102.exec(input2);", "results");
|
|
|
|
var regex103 = /abc$/m;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex103.exec(input0);", "results");
|
|
var input1 = "abc\n";
|
|
var results = ["abc"];
|
|
shouldBe("regex103.exec(input1);", "results");
|
|
var input2 = "abc\ndef";
|
|
var results = ["abc"];
|
|
shouldBe("regex103.exec(input2);", "results");
|
|
|
|
var regex104 = /(abc)\123/;
|
|
var input0 = "abc\x53";
|
|
var results = ["abcS", "abc"];
|
|
shouldBe("regex104.exec(input0);", "results");
|
|
|
|
var regex105 = /(abc)\223/;
|
|
var input0 = "abc\x93";
|
|
var results = ["abc\x93", "abc"];
|
|
shouldBe("regex105.exec(input0);", "results");
|
|
|
|
var regex106 = /(abc)\323/;
|
|
var input0 = "abc\xd3";
|
|
var results = ["abc\xd3", "abc"];
|
|
shouldBe("regex106.exec(input0);", "results");
|
|
|
|
var regex107 = /(abc)\100/;
|
|
var input0 = "abc\x40";
|
|
var results = ["abc@", "abc"];
|
|
shouldBe("regex107.exec(input0);", "results");
|
|
var input1 = "abc\100";
|
|
var results = ["abc@", "abc"];
|
|
shouldBe("regex107.exec(input1);", "results");
|
|
|
|
var regex108 = /(abc)\1000/;
|
|
var input0 = "abc\x400";
|
|
var results = ["abc@0", "abc"];
|
|
shouldBe("regex108.exec(input0);", "results");
|
|
var input1 = "abc\x40\x30";
|
|
var results = ["abc@0", "abc"];
|
|
shouldBe("regex108.exec(input1);", "results");
|
|
var input2 = "abc\1000";
|
|
var results = ["abc@0", "abc"];
|
|
shouldBe("regex108.exec(input2);", "results");
|
|
var input3 = "abc\100\x30";
|
|
var results = ["abc@0", "abc"];
|
|
shouldBe("regex108.exec(input3);", "results");
|
|
var input4 = "abc\100\060";
|
|
var results = ["abc@0", "abc"];
|
|
shouldBe("regex108.exec(input4);", "results");
|
|
var input5 = "abc\100\60";
|
|
var results = ["abc@0", "abc"];
|
|
shouldBe("regex108.exec(input5);", "results");
|
|
|
|
var regex109 = /abc\081/;
|
|
var input0 = "abc\081";
|
|
var results = ["abc\x0081"];
|
|
shouldBe("regex109.exec(input0);", "results");
|
|
var input1 = "abc\0\x38\x31";
|
|
var results = ["abc\x0081"];
|
|
shouldBe("regex109.exec(input1);", "results");
|
|
|
|
var regex110 = /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\12\123/;
|
|
var input0 = "abcdefghijkllS";
|
|
var results = ["abcdefghijkllS", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l"];
|
|
shouldBe("regex110.exec(input0);", "results");
|
|
|
|
var regex111 = /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/;
|
|
var input0 = "abcdefghijk\12S";
|
|
var results = ["abcdefghijk\x0aS", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"];
|
|
shouldBe("regex111.exec(input0);", "results");
|
|
|
|
var regex112 = /ab\idef/;
|
|
var input0 = "abidef";
|
|
var results = ["abidef"];
|
|
shouldBe("regex112.exec(input0);", "results");
|
|
|
|
var regex113 = /a{0}bc/;
|
|
var input0 = "bc";
|
|
var results = ["bc"];
|
|
shouldBe("regex113.exec(input0);", "results");
|
|
|
|
var regex114 = /(?:a|(?:bc)){0,0}?xyz/;
|
|
var input0 = "xyz";
|
|
var results = ["xyz"];
|
|
shouldBe("regex114.exec(input0);", "results");
|
|
|
|
var regex115 = /abc[\10]de/;
|
|
var input0 = "abc\010de";
|
|
var results = ["abc\x08de"];
|
|
shouldBe("regex115.exec(input0);", "results");
|
|
|
|
var regex116 = /abc[\1]de/;
|
|
var input0 = "abc\1de";
|
|
var results = ["abc\x01de"];
|
|
shouldBe("regex116.exec(input0);", "results");
|
|
|
|
var regex117 = /(abc)[\1]de/;
|
|
var input0 = "abc\1de";
|
|
var results = ["abc\x01de", "abc"];
|
|
shouldBe("regex117.exec(input0);", "results");
|
|
|
|
var regex118 = /a.b/;
|
|
var input0 = "a\nb";
|
|
var results = null;
|
|
shouldBe("regex118.exec(input0);", "results");
|
|
|
|
var regex119 = /^([^a])([^\b])([^c]*)([^d]{3,4})/;
|
|
var input0 = "baNOTccccd";
|
|
var results = ["baNOTcccc", "b", "a", "NOT", "cccc"];
|
|
shouldBe("regex119.exec(input0);", "results");
|
|
var input1 = "baNOTcccd";
|
|
var results = ["baNOTccc", "b", "a", "NOT", "ccc"];
|
|
shouldBe("regex119.exec(input1);", "results");
|
|
var input2 = "baNOTccd";
|
|
var results = ["baNOTcc", "b", "a", "NO", "Tcc"];
|
|
shouldBe("regex119.exec(input2);", "results");
|
|
var input3 = "bacccd";
|
|
var results = ["baccc", "b", "a", "", "ccc"];
|
|
shouldBe("regex119.exec(input3);", "results");
|
|
// Failers
|
|
var input4 = "anything";
|
|
var results = null;
|
|
shouldBe("regex119.exec(input4);", "results");
|
|
var input5 = "b\bc";
|
|
var results = null;
|
|
shouldBe("regex119.exec(input5);", "results");
|
|
var input6 = "baccd";
|
|
var results = null;
|
|
shouldBe("regex119.exec(input6);", "results");
|
|
|
|
var regex120 = /[^a]/;
|
|
var input0 = "Abc";
|
|
var results = ["A"];
|
|
shouldBe("regex120.exec(input0);", "results");
|
|
|
|
var regex121 = /[^a]/i;
|
|
var input0 = "Abc";
|
|
var results = ["b"];
|
|
shouldBe("regex121.exec(input0);", "results");
|
|
|
|
var regex122 = /[^a]+/;
|
|
var input0 = "AAAaAbc";
|
|
var results = ["AAA"];
|
|
shouldBe("regex122.exec(input0);", "results");
|
|
|
|
var regex123 = /[^a]+/i;
|
|
var input0 = "AAAaAbc";
|
|
var results = ["bc"];
|
|
shouldBe("regex123.exec(input0);", "results");
|
|
|
|
var regex124 = /[^a]+/;
|
|
var input0 = "bbb\nccc";
|
|
var results = ["bbb\x0accc"];
|
|
shouldBe("regex124.exec(input0);", "results");
|
|
|
|
var regex125 = /[^k]$/;
|
|
var input0 = "abc";
|
|
var results = ["c"];
|
|
shouldBe("regex125.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abk";
|
|
var results = null;
|
|
shouldBe("regex125.exec(input1);", "results");
|
|
|
|
var regex126 = /[^k]{2,3}$/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex126.exec(input0);", "results");
|
|
var input1 = "kbc";
|
|
var results = ["bc"];
|
|
shouldBe("regex126.exec(input1);", "results");
|
|
var input2 = "kabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex126.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "abk";
|
|
var results = null;
|
|
shouldBe("regex126.exec(input3);", "results");
|
|
var input4 = "akb";
|
|
var results = null;
|
|
shouldBe("regex126.exec(input4);", "results");
|
|
var input5 = "akk";
|
|
var results = null;
|
|
shouldBe("regex126.exec(input5);", "results");
|
|
|
|
var regex127 = /^\d{8,}\@.+[^k]$/;
|
|
var input0 = "12345678\@a.b.c.d";
|
|
var results = ["12345678@a.b.c.d"];
|
|
shouldBe("regex127.exec(input0);", "results");
|
|
var input1 = "123456789\@x.y.z";
|
|
var results = ["123456789@x.y.z"];
|
|
shouldBe("regex127.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "12345678\@x.y.uk";
|
|
var results = null;
|
|
shouldBe("regex127.exec(input2);", "results");
|
|
var input3 = "1234567\@a.b.c.d";
|
|
var results = null;
|
|
shouldBe("regex127.exec(input3);", "results");
|
|
|
|
var regex128 = /(a)\1{8,}/;
|
|
var input0 = "aaaaaaaaa";
|
|
var results = ["aaaaaaaaa", "a"];
|
|
shouldBe("regex128.exec(input0);", "results");
|
|
var input1 = "aaaaaaaaaa";
|
|
var results = ["aaaaaaaaaa", "a"];
|
|
shouldBe("regex128.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "aaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex128.exec(input2);", "results");
|
|
|
|
var regex129 = /[^a]/;
|
|
var input0 = "aaaabcd";
|
|
var results = ["b"];
|
|
shouldBe("regex129.exec(input0);", "results");
|
|
var input1 = "aaAabcd";
|
|
var results = ["A"];
|
|
shouldBe("regex129.exec(input1);", "results");
|
|
|
|
var regex130 = /[^a]/i;
|
|
var input0 = "aaaabcd";
|
|
var results = ["b"];
|
|
shouldBe("regex130.exec(input0);", "results");
|
|
var input1 = "aaAabcd";
|
|
var results = ["b"];
|
|
shouldBe("regex130.exec(input1);", "results");
|
|
|
|
var regex131 = /[^az]/;
|
|
var input0 = "aaaabcd";
|
|
var results = ["b"];
|
|
shouldBe("regex131.exec(input0);", "results");
|
|
var input1 = "aaAabcd";
|
|
var results = ["A"];
|
|
shouldBe("regex131.exec(input1);", "results");
|
|
|
|
var regex132 = /[^az]/i;
|
|
var input0 = "aaaabcd";
|
|
var results = ["b"];
|
|
shouldBe("regex132.exec(input0);", "results");
|
|
var input1 = "aaAabcd";
|
|
var results = ["b"];
|
|
shouldBe("regex132.exec(input1);", "results");
|
|
|
|
var regex133 =
|
|
/\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/;
|
|
var input0 =
|
|
"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377";
|
|
var results = [
|
|
"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
|
|
];
|
|
shouldBe("regex133.exec(input0);", "results");
|
|
|
|
var regex134 = /P[^*]TAIRE[^*]{1,6}?LL/;
|
|
var input0 = "xxxxxxxxxxxPSTAIREISLLxxxxxxxxx";
|
|
var results = ["PSTAIREISLL"];
|
|
shouldBe("regex134.exec(input0);", "results");
|
|
|
|
var regex135 = /P[^*]TAIRE[^*]{1,}?LL/;
|
|
var input0 = "xxxxxxxxxxxPSTAIREISLLxxxxxxxxx";
|
|
var results = ["PSTAIREISLL"];
|
|
shouldBe("regex135.exec(input0);", "results");
|
|
|
|
var regex136 = /(\.\d\d[1-9]?)\d+/;
|
|
var input0 = "1.230003938";
|
|
var results = [".230003938", ".23"];
|
|
shouldBe("regex136.exec(input0);", "results");
|
|
var input1 = "1.875000282";
|
|
var results = [".875000282", ".875"];
|
|
shouldBe("regex136.exec(input1);", "results");
|
|
var input2 = "1.235";
|
|
var results = [".235", ".23"];
|
|
shouldBe("regex136.exec(input2);", "results");
|
|
|
|
var regex137 = /(\.\d\d((?=0)|\d(?=\d)))/;
|
|
var input0 = "1.230003938";
|
|
var results = [".23", ".23", ""];
|
|
shouldBe("regex137.exec(input0);", "results");
|
|
var input1 = "1.875000282";
|
|
var results = [".875", ".875", "5"];
|
|
shouldBe("regex137.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "1.235";
|
|
var results = null;
|
|
shouldBe("regex137.exec(input2);", "results");
|
|
|
|
var regex138 = /a(?:)b/;
|
|
var input0 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex138.exec(input0);", "results");
|
|
|
|
var regex139 = /\b(foo)\s+(\w+)/i;
|
|
var input0 = "Food is on the foo table";
|
|
var results = ["foo table", "foo", "table"];
|
|
shouldBe("regex139.exec(input0);", "results");
|
|
|
|
var regex140 = /foo(.*)bar/;
|
|
var input0 = "The food is under the bar in the barn.";
|
|
var results = ["food is under the bar in the bar", "d is under the bar in the "];
|
|
shouldBe("regex140.exec(input0);", "results");
|
|
|
|
var regex141 = /foo(.*?)bar/;
|
|
var input0 = "The food is under the bar in the barn.";
|
|
var results = ["food is under the bar", "d is under the "];
|
|
shouldBe("regex141.exec(input0);", "results");
|
|
|
|
var regex142 = /(.*)(\d*)/;
|
|
var input0 = "I have 2 numbers: 53147";
|
|
var results = ["I have 2 numbers: 53147", "I have 2 numbers: 53147", ""];
|
|
shouldBe("regex142.exec(input0);", "results");
|
|
|
|
var regex143 = /(.*)(\d+)/;
|
|
var input0 = "I have 2 numbers: 53147";
|
|
var results = ["I have 2 numbers: 53147", "I have 2 numbers: 5314", "7"];
|
|
shouldBe("regex143.exec(input0);", "results");
|
|
|
|
var regex144 = /(.*?)(\d*)/;
|
|
var input0 = "I have 2 numbers: 53147";
|
|
var results = ["", "", ""];
|
|
shouldBe("regex144.exec(input0);", "results");
|
|
|
|
var regex145 = /(.*?)(\d+)/;
|
|
var input0 = "I have 2 numbers: 53147";
|
|
var results = ["I have 2", "I have ", "2"];
|
|
shouldBe("regex145.exec(input0);", "results");
|
|
|
|
var regex146 = /(.*)(\d+)$/;
|
|
var input0 = "I have 2 numbers: 53147";
|
|
var results = ["I have 2 numbers: 53147", "I have 2 numbers: 5314", "7"];
|
|
shouldBe("regex146.exec(input0);", "results");
|
|
|
|
var regex147 = /(.*?)(\d+)$/;
|
|
var input0 = "I have 2 numbers: 53147";
|
|
var results = ["I have 2 numbers: 53147", "I have 2 numbers: ", "53147"];
|
|
shouldBe("regex147.exec(input0);", "results");
|
|
|
|
var regex148 = /(.*)\b(\d+)$/;
|
|
var input0 = "I have 2 numbers: 53147";
|
|
var results = ["I have 2 numbers: 53147", "I have 2 numbers: ", "53147"];
|
|
shouldBe("regex148.exec(input0);", "results");
|
|
|
|
var regex149 = /(.*\D)(\d+)$/;
|
|
var input0 = "I have 2 numbers: 53147";
|
|
var results = ["I have 2 numbers: 53147", "I have 2 numbers: ", "53147"];
|
|
shouldBe("regex149.exec(input0);", "results");
|
|
|
|
var regex150 = /^\D*(?!123)/;
|
|
var input0 = "ABC123";
|
|
var results = ["AB"];
|
|
shouldBe("regex150.exec(input0);", "results");
|
|
|
|
var regex151 = /^(\D*)(?=\d)(?!123)/;
|
|
var input0 = "ABC445";
|
|
var results = ["ABC", "ABC"];
|
|
shouldBe("regex151.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "ABC123";
|
|
var results = null;
|
|
shouldBe("regex151.exec(input1);", "results");
|
|
|
|
var regex152 = /^[W-]46]/;
|
|
var input0 = "W46]789";
|
|
var results = ["W46]"];
|
|
shouldBe("regex152.exec(input0);", "results");
|
|
var input1 = "-46]789";
|
|
var results = ["-46]"];
|
|
shouldBe("regex152.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "Wall";
|
|
var results = null;
|
|
shouldBe("regex152.exec(input2);", "results");
|
|
var input3 = "Zebra";
|
|
var results = null;
|
|
shouldBe("regex152.exec(input3);", "results");
|
|
var input4 = "42";
|
|
var results = null;
|
|
shouldBe("regex152.exec(input4);", "results");
|
|
var input5 = "[abcd]";
|
|
var results = null;
|
|
shouldBe("regex152.exec(input5);", "results");
|
|
var input6 = "]abcd[";
|
|
var results = null;
|
|
shouldBe("regex152.exec(input6);", "results");
|
|
|
|
var regex153 = /^[W-\]46]/;
|
|
var input0 = "W46]789";
|
|
var results = ["W"];
|
|
shouldBe("regex153.exec(input0);", "results");
|
|
var input1 = "Wall";
|
|
var results = ["W"];
|
|
shouldBe("regex153.exec(input1);", "results");
|
|
var input2 = "Zebra";
|
|
var results = ["Z"];
|
|
shouldBe("regex153.exec(input2);", "results");
|
|
var input3 = "Xylophone";
|
|
var results = ["X"];
|
|
shouldBe("regex153.exec(input3);", "results");
|
|
var input4 = "42";
|
|
var results = ["4"];
|
|
shouldBe("regex153.exec(input4);", "results");
|
|
var input5 = "[abcd]";
|
|
var results = ["["];
|
|
shouldBe("regex153.exec(input5);", "results");
|
|
var input6 = "]abcd[";
|
|
var results = ["]"];
|
|
shouldBe("regex153.exec(input6);", "results");
|
|
var input7 = "\\backslash";
|
|
var results = ["\\"];
|
|
shouldBe("regex153.exec(input7);", "results");
|
|
// Failers
|
|
var input8 = "-46]789";
|
|
var results = null;
|
|
shouldBe("regex153.exec(input8);", "results");
|
|
var input9 = "well";
|
|
var results = null;
|
|
shouldBe("regex153.exec(input9);", "results");
|
|
|
|
var regex154 = /\d\d\/\d\d\/\d\d\d\d/;
|
|
var input0 = "01/01/2000";
|
|
var results = ["01/01/2000"];
|
|
shouldBe("regex154.exec(input0);", "results");
|
|
|
|
var regex155 = /word (?:[a-zA-Z0-9]+ ){0,10}otherword/;
|
|
var input0 = "word cat dog elephant mussel cow horse canary baboon snake shark otherword";
|
|
var results = ["word cat dog elephant mussel cow horse canary baboon snake shark otherword"];
|
|
shouldBe("regex155.exec(input0);", "results");
|
|
var input1 = "word cat dog elephant mussel cow horse canary baboon snake shark";
|
|
var results = null;
|
|
shouldBe("regex155.exec(input1);", "results");
|
|
|
|
var regex156 = /word (?:[a-zA-Z0-9]+ ){0,300}otherword/;
|
|
var input0 =
|
|
"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope";
|
|
var results = null;
|
|
shouldBe("regex156.exec(input0);", "results");
|
|
|
|
var regex157 = /^(?:a){0,0}/;
|
|
var input0 = "bcd";
|
|
var results = [""];
|
|
shouldBe("regex157.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = [""];
|
|
shouldBe("regex157.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = [""];
|
|
shouldBe("regex157.exec(input2);", "results");
|
|
|
|
var regex158 = /^(a){0,1}/;
|
|
var input0 = "bcd";
|
|
var results = ["", undefined];
|
|
shouldBe("regex158.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex158.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex158.exec(input2);", "results");
|
|
|
|
var regex159 = /^(a){0,2}/;
|
|
var input0 = "bcd";
|
|
var results = ["", undefined];
|
|
shouldBe("regex159.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex159.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = ["aa", "a"];
|
|
shouldBe("regex159.exec(input2);", "results");
|
|
|
|
var regex160 = /^(a){0,3}/;
|
|
var input0 = "bcd";
|
|
var results = ["", undefined];
|
|
shouldBe("regex160.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex160.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = ["aa", "a"];
|
|
shouldBe("regex160.exec(input2);", "results");
|
|
var input3 = "aaa";
|
|
var results = ["aaa", "a"];
|
|
shouldBe("regex160.exec(input3);", "results");
|
|
|
|
var regex161 = /^(a){0,}/;
|
|
var input0 = "bcd";
|
|
var results = ["", undefined];
|
|
shouldBe("regex161.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex161.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = ["aa", "a"];
|
|
shouldBe("regex161.exec(input2);", "results");
|
|
var input3 = "aaa";
|
|
var results = ["aaa", "a"];
|
|
shouldBe("regex161.exec(input3);", "results");
|
|
var input4 = "aaaaaaaa";
|
|
var results = ["aaaaaaaa", "a"];
|
|
shouldBe("regex161.exec(input4);", "results");
|
|
|
|
var regex162 = /^(a){1,1}/;
|
|
var input0 = "bcd";
|
|
var results = null;
|
|
shouldBe("regex162.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex162.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex162.exec(input2);", "results");
|
|
|
|
var regex163 = /^(a){1,2}/;
|
|
var input0 = "bcd";
|
|
var results = null;
|
|
shouldBe("regex163.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex163.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = ["aa", "a"];
|
|
shouldBe("regex163.exec(input2);", "results");
|
|
|
|
var regex164 = /^(a){1,3}/;
|
|
var input0 = "bcd";
|
|
var results = null;
|
|
shouldBe("regex164.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex164.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = ["aa", "a"];
|
|
shouldBe("regex164.exec(input2);", "results");
|
|
var input3 = "aaa";
|
|
var results = ["aaa", "a"];
|
|
shouldBe("regex164.exec(input3);", "results");
|
|
|
|
var regex165 = /^(a){1,}/;
|
|
var input0 = "bcd";
|
|
var results = null;
|
|
shouldBe("regex165.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex165.exec(input1);", "results");
|
|
var input2 = "aab";
|
|
var results = ["aa", "a"];
|
|
shouldBe("regex165.exec(input2);", "results");
|
|
var input3 = "aaa";
|
|
var results = ["aaa", "a"];
|
|
shouldBe("regex165.exec(input3);", "results");
|
|
var input4 = "aaaaaaaa";
|
|
var results = ["aaaaaaaa", "a"];
|
|
shouldBe("regex165.exec(input4);", "results");
|
|
|
|
var regex166 = /.*\.gif/;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["bib.gif"];
|
|
shouldBe("regex166.exec(input0);", "results");
|
|
|
|
var regex167 = /.{0,}\.gif/;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["bib.gif"];
|
|
shouldBe("regex167.exec(input0);", "results");
|
|
|
|
var regex168 = /.*\.gif/m;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["bib.gif"];
|
|
shouldBe("regex168.exec(input0);", "results");
|
|
|
|
var regex169 = /.*\.gif/;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["bib.gif"];
|
|
shouldBe("regex169.exec(input0);", "results");
|
|
|
|
var regex170 = /.*\.gif/m;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["bib.gif"];
|
|
shouldBe("regex170.exec(input0);", "results");
|
|
|
|
var regex171 = /.*$/;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["no"];
|
|
shouldBe("regex171.exec(input0);", "results");
|
|
|
|
var regex172 = /.*$/m;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["borfle"];
|
|
shouldBe("regex172.exec(input0);", "results");
|
|
|
|
var regex173 = /[\w\W]*?$/;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["borfle\nbib.gif\x0ano"];
|
|
shouldBe("regex173.exec(input0);", "results");
|
|
|
|
var regex174 = /[\w\W]*?$/m;
|
|
var input0 = "borfle\nbib.gif\nno";
|
|
var results = ["borfle"];
|
|
shouldBe("regex174.exec(input0);", "results");
|
|
|
|
var regex175 = /.*$/;
|
|
var input0 = "borfle\nbib.gif\nno\n";
|
|
var results = [""];
|
|
shouldBe("regex175.exec(input0);", "results");
|
|
|
|
var regex176 = /.*$/m;
|
|
var input0 = "borfle\nbib.gif\nno\n";
|
|
var results = ["borfle"];
|
|
shouldBe("regex176.exec(input0);", "results");
|
|
|
|
var regex177 = /.*$/;
|
|
var input0 = "borfle\nbib.gif\nno\n";
|
|
var results = [""];
|
|
shouldBe("regex177.exec(input0);", "results");
|
|
|
|
var regex178 = /.*$/m;
|
|
var input0 = "borfle\nbib.gif\nno\n";
|
|
var results = ["borfle"];
|
|
shouldBe("regex178.exec(input0);", "results");
|
|
|
|
var regex179 = /(.*X|^B)/;
|
|
var input0 = "abcde\n1234Xyz";
|
|
var results = ["1234X", "1234X"];
|
|
shouldBe("regex179.exec(input0);", "results");
|
|
var input1 = "BarFoo";
|
|
var results = ["B", "B"];
|
|
shouldBe("regex179.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "abcde\nBar";
|
|
var results = null;
|
|
shouldBe("regex179.exec(input2);", "results");
|
|
|
|
var regex180 = /(.*X|^B)/m;
|
|
var input0 = "abcde\n1234Xyz";
|
|
var results = ["1234X", "1234X"];
|
|
shouldBe("regex180.exec(input0);", "results");
|
|
var input1 = "BarFoo";
|
|
var results = ["B", "B"];
|
|
shouldBe("regex180.exec(input1);", "results");
|
|
var input2 = "abcde\nBar";
|
|
var results = ["B", "B"];
|
|
shouldBe("regex180.exec(input2);", "results");
|
|
|
|
var regex181 = /([\w\W]*X|^B)/;
|
|
var input0 = "abcde\n1234Xyz";
|
|
var results = ["abcde\x0a1234X", "abcde\x0a1234X"];
|
|
shouldBe("regex181.exec(input0);", "results");
|
|
var input1 = "BarFoo";
|
|
var results = ["B", "B"];
|
|
shouldBe("regex181.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "abcde\nBar";
|
|
var results = null;
|
|
shouldBe("regex181.exec(input2);", "results");
|
|
|
|
var regex182 = /([\w\W]*X|^B)/m;
|
|
var input0 = "abcde\n1234Xyz";
|
|
var results = ["abcde\x0a1234X", "abcde\x0a1234X"];
|
|
shouldBe("regex182.exec(input0);", "results");
|
|
var input1 = "BarFoo";
|
|
var results = ["B", "B"];
|
|
shouldBe("regex182.exec(input1);", "results");
|
|
var input2 = "abcde\nBar";
|
|
var results = ["B", "B"];
|
|
shouldBe("regex182.exec(input2);", "results");
|
|
|
|
var regex183 = /([\w\W]*X|^B)/;
|
|
var input0 = "abcde\n1234Xyz";
|
|
var results = ["abcde\x0a1234X", "abcde\x0a1234X"];
|
|
shouldBe("regex183.exec(input0);", "results");
|
|
var input1 = "BarFoo";
|
|
var results = ["B", "B"];
|
|
shouldBe("regex183.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "abcde\nBar";
|
|
var results = null;
|
|
shouldBe("regex183.exec(input2);", "results");
|
|
|
|
var regex184 = /(?:.*X|^B)/;
|
|
var input0 = "abcde\n1234Xyz";
|
|
var results = ["1234X"];
|
|
shouldBe("regex184.exec(input0);", "results");
|
|
var input1 = "BarFoo";
|
|
var results = ["B"];
|
|
shouldBe("regex184.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "abcde\nBar";
|
|
var results = null;
|
|
shouldBe("regex184.exec(input2);", "results");
|
|
|
|
var regex185 = /^.*B/;
|
|
// Failers
|
|
var input0 = "abc\nB";
|
|
var results = null;
|
|
shouldBe("regex185.exec(input0);", "results");
|
|
|
|
var regex186 = /^[\w\W]*B/;
|
|
var input0 = "abc\nB";
|
|
var results = ["abc\x0aB"];
|
|
shouldBe("regex186.exec(input0);", "results");
|
|
|
|
var regex187 = /.*B/;
|
|
var input0 = "abc\nB";
|
|
var results = ["B"];
|
|
shouldBe("regex187.exec(input0);", "results");
|
|
|
|
var regex188 = /^.*B/;
|
|
// Failers
|
|
var input0 = "abc\nB";
|
|
var results = null;
|
|
shouldBe("regex188.exec(input0);", "results");
|
|
|
|
var regex189a = /^B/;
|
|
// Failers
|
|
var input0 = "abc\nB";
|
|
var results = null;
|
|
shouldBe("regex189a.exec(input0);", "results");
|
|
|
|
var regex189b = /^B/m;
|
|
var input0 = "abc\nB";
|
|
var results = ["B"];
|
|
shouldBe("regex189b.exec(input0);", "results");
|
|
|
|
var regex190a = /B$/;
|
|
// Failers
|
|
var input0 = "B\n";
|
|
var results = null;
|
|
shouldBe("regex190a.exec(input0);", "results");
|
|
|
|
var regex190b = /B$/m;
|
|
var input0 = "B\n";
|
|
var results = ["B"];
|
|
shouldBe("regex190b.exec(input0);", "results");
|
|
|
|
var regex191 = /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/;
|
|
var input0 = "123456654321";
|
|
var results = ["123456654321"];
|
|
shouldBe("regex191.exec(input0);", "results");
|
|
|
|
var regex192 = /^\d\d\d\d\d\d\d\d\d\d\d\d/;
|
|
var input0 = "123456654321";
|
|
var results = ["123456654321"];
|
|
shouldBe("regex192.exec(input0);", "results");
|
|
|
|
var regex193 = /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/;
|
|
var input0 = "123456654321";
|
|
var results = ["123456654321"];
|
|
shouldBe("regex193.exec(input0);", "results");
|
|
|
|
var regex194 = /^[abc]{12}/;
|
|
var input0 = "abcabcabcabc";
|
|
var results = ["abcabcabcabc"];
|
|
shouldBe("regex194.exec(input0);", "results");
|
|
|
|
var regex195 = /^[a-c]{12}/;
|
|
var input0 = "abcabcabcabc";
|
|
var results = ["abcabcabcabc"];
|
|
shouldBe("regex195.exec(input0);", "results");
|
|
|
|
var regex196 = /^(a|b|c){12}/;
|
|
var input0 = "abcabcabcabc";
|
|
var results = ["abcabcabcabc", "c"];
|
|
shouldBe("regex196.exec(input0);", "results");
|
|
|
|
var regex197 = /^[abcdefghijklmnopqrstuvwxy0123456789]/;
|
|
var input0 = "n";
|
|
var results = ["n"];
|
|
shouldBe("regex197.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "z";
|
|
var results = null;
|
|
shouldBe("regex197.exec(input1);", "results");
|
|
|
|
var regex198 = /abcde{0,0}/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd"];
|
|
shouldBe("regex198.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abce";
|
|
var results = null;
|
|
shouldBe("regex198.exec(input1);", "results");
|
|
|
|
var regex199 = /ab[cd]{0,0}e/;
|
|
var input0 = "abe";
|
|
var results = ["abe"];
|
|
shouldBe("regex199.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abcde";
|
|
var results = null;
|
|
shouldBe("regex199.exec(input1);", "results");
|
|
|
|
var regex200 = /ab(c){0,0}d/;
|
|
var input0 = "abd";
|
|
var results = ["abd", undefined];
|
|
shouldBe("regex200.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abcd";
|
|
var results = null;
|
|
shouldBe("regex200.exec(input1);", "results");
|
|
|
|
var regex201 = /a(b*)/;
|
|
var input0 = "a";
|
|
var results = ["a", ""];
|
|
shouldBe("regex201.exec(input0);", "results");
|
|
var input1 = "ab";
|
|
var results = ["ab", "b"];
|
|
shouldBe("regex201.exec(input1);", "results");
|
|
var input2 = "abbbb";
|
|
var results = ["abbbb", "bbbb"];
|
|
shouldBe("regex201.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "bbbbb";
|
|
var results = null;
|
|
shouldBe("regex201.exec(input3);", "results");
|
|
|
|
var regex202 = /ab\d{0}e/;
|
|
var input0 = "abe";
|
|
var results = ["abe"];
|
|
shouldBe("regex202.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "ab1e";
|
|
var results = null;
|
|
shouldBe("regex202.exec(input1);", "results");
|
|
|
|
var regex203 = /"([^\\"]+|\\.)*"/;
|
|
var input0 = 'the "quick" brown fox';
|
|
var results = ['"quick"', "quick"];
|
|
shouldBe("regex203.exec(input0);", "results");
|
|
var input1 = '"the \\"quick\\" brown fox"';
|
|
var results = ['"the \\"quick\\" brown fox"', " brown fox"];
|
|
shouldBe("regex203.exec(input1);", "results");
|
|
|
|
var regex204 =
|
|
/<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/i;
|
|
var input0 =
|
|
"<TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>";
|
|
var results = [
|
|
"<TR BGCOLOR=\'#DBE9E9\'><TD align=left valign=top>43.<a href=\'joblist.cfm?JobID=94 6735&Keyword=\'>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>",
|
|
" BGCOLOR=\'#DBE9E9\'",
|
|
" align=left valign=top",
|
|
"43.",
|
|
"<a href=\'joblist.cfm?JobID=94 6735&Keyword=\'>Word Processor<BR>(N-1286)",
|
|
"",
|
|
"",
|
|
undefined,
|
|
" align=left valign=top",
|
|
"Lega lstaff.com",
|
|
" align=left valign=top",
|
|
"CA - Statewide",
|
|
];
|
|
shouldBe("regex204.exec(input0);", "results");
|
|
|
|
var regex205 = /a[^a]b/;
|
|
var input0 = "acb";
|
|
var results = ["acb"];
|
|
shouldBe("regex205.exec(input0);", "results");
|
|
var input1 = "a\nb";
|
|
var results = ["a\x0ab"];
|
|
shouldBe("regex205.exec(input1);", "results");
|
|
|
|
var regex206 = /a.b/;
|
|
var input0 = "acb";
|
|
var results = ["acb"];
|
|
shouldBe("regex206.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "a\nb";
|
|
var results = null;
|
|
shouldBe("regex206.exec(input1);", "results");
|
|
|
|
var regex207 = /a[^a]b/;
|
|
var input0 = "acb";
|
|
var results = ["acb"];
|
|
shouldBe("regex207.exec(input0);", "results");
|
|
var input1 = "a\nb";
|
|
var results = ["a\x0ab"];
|
|
shouldBe("regex207.exec(input1);", "results");
|
|
|
|
var regex208 = /a[\w\W]b/;
|
|
var input0 = "acb";
|
|
var results = ["acb"];
|
|
shouldBe("regex208.exec(input0);", "results");
|
|
var input1 = "a\nb";
|
|
var results = ["a\x0ab"];
|
|
shouldBe("regex208.exec(input1);", "results");
|
|
|
|
var regex209 = /^(b+?|a){1,2}?c/;
|
|
var input0 = "bac";
|
|
var results = ["bac", "a"];
|
|
shouldBe("regex209.exec(input0);", "results");
|
|
var input1 = "bbac";
|
|
var results = ["bbac", "a"];
|
|
shouldBe("regex209.exec(input1);", "results");
|
|
var input2 = "bbbac";
|
|
var results = ["bbbac", "a"];
|
|
shouldBe("regex209.exec(input2);", "results");
|
|
var input3 = "bbbbac";
|
|
var results = ["bbbbac", "a"];
|
|
shouldBe("regex209.exec(input3);", "results");
|
|
var input4 = "bbbbbac";
|
|
var results = ["bbbbbac", "a"];
|
|
shouldBe("regex209.exec(input4);", "results");
|
|
|
|
var regex210 = /^(b+|a){1,2}?c/;
|
|
var input0 = "bac";
|
|
var results = ["bac", "a"];
|
|
shouldBe("regex210.exec(input0);", "results");
|
|
var input1 = "bbac";
|
|
var results = ["bbac", "a"];
|
|
shouldBe("regex210.exec(input1);", "results");
|
|
var input2 = "bbbac";
|
|
var results = ["bbbac", "a"];
|
|
shouldBe("regex210.exec(input2);", "results");
|
|
var input3 = "bbbbac";
|
|
var results = ["bbbbac", "a"];
|
|
shouldBe("regex210.exec(input3);", "results");
|
|
var input4 = "bbbbbac";
|
|
var results = ["bbbbbac", "a"];
|
|
shouldBe("regex210.exec(input4);", "results");
|
|
|
|
var regex211 = /(?!^)x/m;
|
|
var input0 = "a\bx\n";
|
|
var results = ["x"];
|
|
shouldBe("regex211.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "x\nb\n";
|
|
var results = null;
|
|
shouldBe("regex211.exec(input1);", "results");
|
|
|
|
var regex212 = /\0{ab}/;
|
|
var input0 = "\0{ab}";
|
|
var results = ["\x00{ab}"];
|
|
shouldBe("regex212.exec(input0);", "results");
|
|
|
|
var regex213 = /(A|B)*?CD/;
|
|
var input0 = "CD";
|
|
var results = ["CD", undefined];
|
|
shouldBe("regex213.exec(input0);", "results");
|
|
|
|
var regex214 = /(A|B)*CD/;
|
|
var input0 = "CD";
|
|
var results = ["CD", undefined];
|
|
shouldBe("regex214.exec(input0);", "results");
|
|
|
|
var regex215 = /^((AB)+?)\2$/;
|
|
var input0 = "ABABAB";
|
|
var results = ["ABABAB", "ABAB", "AB"];
|
|
shouldBe("regex215.exec(input0);", "results");
|
|
|
|
var regex216 = /(AB)*\1/;
|
|
var input0 = "ABABAB";
|
|
var results = ["ABABAB", "AB"];
|
|
shouldBe("regex216.exec(input0);", "results");
|
|
|
|
var regex220 = /^abc$/m;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex220.exec(input0);", "results");
|
|
var input1 = "abc\n";
|
|
var results = ["abc"];
|
|
shouldBe("regex220.exec(input1);", "results");
|
|
var input2 = "qqq\nabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex220.exec(input2);", "results");
|
|
var input3 = "abc\nzzz";
|
|
var results = ["abc"];
|
|
shouldBe("regex220.exec(input3);", "results");
|
|
var input4 = "qqq\nabc\nzzz";
|
|
var results = ["abc"];
|
|
shouldBe("regex220.exec(input4);", "results");
|
|
|
|
var regex225 = /(\d+)(\w)/;
|
|
var input0 = "12345a";
|
|
var results = ["12345a", "12345", "a"];
|
|
shouldBe("regex225.exec(input0);", "results");
|
|
var input1 = "12345+";
|
|
var results = ["12345", "1234", "5"];
|
|
shouldBe("regex225.exec(input1);", "results");
|
|
|
|
var regex234 = /ab/;
|
|
var input0 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex234.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "Ab";
|
|
var results = null;
|
|
shouldBe("regex234.exec(input1);", "results");
|
|
var input2 = "aB";
|
|
var results = null;
|
|
shouldBe("regex234.exec(input2);", "results");
|
|
var input3 = "AB";
|
|
var results = null;
|
|
shouldBe("regex234.exec(input3);", "results");
|
|
|
|
var regex235 = /(a bc)d e/;
|
|
var input0 = "a bcd e";
|
|
var results = ["a bcd e", "a bc"];
|
|
shouldBe("regex235.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "a b cd e";
|
|
var results = null;
|
|
shouldBe("regex235.exec(input1);", "results");
|
|
var input2 = "abcd e";
|
|
var results = null;
|
|
shouldBe("regex235.exec(input2);", "results");
|
|
var input3 = "a bcde";
|
|
var results = null;
|
|
shouldBe("regex235.exec(input3);", "results");
|
|
|
|
var regex236 = /(a bcde f)/;
|
|
var input0 = "a bcde f";
|
|
var results = ["a bcde f", "a bcde f"];
|
|
shouldBe("regex236.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abcdef";
|
|
var results = null;
|
|
shouldBe("regex236.exec(input1);", "results");
|
|
|
|
var regex237 = /(a[bB])c/;
|
|
var input0 = "abc";
|
|
var results = ["abc", "ab"];
|
|
shouldBe("regex237.exec(input0);", "results");
|
|
var input1 = "aBc";
|
|
var results = ["aBc", "aB"];
|
|
shouldBe("regex237.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "abC";
|
|
var results = null;
|
|
shouldBe("regex237.exec(input2);", "results");
|
|
var input3 = "aBC";
|
|
var results = null;
|
|
shouldBe("regex237.exec(input3);", "results");
|
|
var input4 = "Abc";
|
|
var results = null;
|
|
shouldBe("regex237.exec(input4);", "results");
|
|
var input5 = "ABc";
|
|
var results = null;
|
|
shouldBe("regex237.exec(input5);", "results");
|
|
var input6 = "ABC";
|
|
var results = null;
|
|
shouldBe("regex237.exec(input6);", "results");
|
|
var input7 = "AbC";
|
|
var results = null;
|
|
shouldBe("regex237.exec(input7);", "results");
|
|
|
|
var regex238 = /a[bB]c/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex238.exec(input0);", "results");
|
|
var input1 = "aBc";
|
|
var results = ["aBc"];
|
|
shouldBe("regex238.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "ABC";
|
|
var results = null;
|
|
shouldBe("regex238.exec(input2);", "results");
|
|
var input3 = "abC";
|
|
var results = null;
|
|
shouldBe("regex238.exec(input3);", "results");
|
|
var input4 = "aBC";
|
|
var results = null;
|
|
shouldBe("regex238.exec(input4);", "results");
|
|
|
|
var regex239 = /a[bB]*c/;
|
|
var input0 = "aBc";
|
|
var results = ["aBc"];
|
|
shouldBe("regex239.exec(input0);", "results");
|
|
var input1 = "aBBc";
|
|
var results = ["aBBc"];
|
|
shouldBe("regex239.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "aBC";
|
|
var results = null;
|
|
shouldBe("regex239.exec(input2);", "results");
|
|
var input3 = "aBBC";
|
|
var results = null;
|
|
shouldBe("regex239.exec(input3);", "results");
|
|
|
|
var regex240 = /a(?=b[cC])\w\wd/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd"];
|
|
shouldBe("regex240.exec(input0);", "results");
|
|
var input1 = "abCd";
|
|
var results = ["abCd"];
|
|
shouldBe("regex240.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "aBCd";
|
|
var results = null;
|
|
shouldBe("regex240.exec(input2);", "results");
|
|
var input3 = "abcD";
|
|
var results = null;
|
|
shouldBe("regex240.exec(input3);", "results");
|
|
|
|
var regex241 = /(?:more[\w\W]*than).*million/i;
|
|
var input0 = "more than million";
|
|
var results = ["more than million"];
|
|
shouldBe("regex241.exec(input0);", "results");
|
|
var input1 = "more than MILLION";
|
|
var results = ["more than MILLION"];
|
|
shouldBe("regex241.exec(input1);", "results");
|
|
var input2 = "more \n than Million";
|
|
var results = ["more \x0a than Million"];
|
|
shouldBe("regex241.exec(input2);", "results");
|
|
var input3 = "MORE THAN MILLION";
|
|
var results = ["MORE THAN MILLION"];
|
|
// Failers
|
|
shouldBe("regex241.exec(input3);", "results");
|
|
var input4 = "more \n than \n million";
|
|
var results = null;
|
|
shouldBe("regex241.exec(input4);", "results");
|
|
|
|
var regex242 = /(?:more[\w\W]*than).*million/i;
|
|
var input0 = "more than million";
|
|
var results = ["more than million"];
|
|
shouldBe("regex242.exec(input0);", "results");
|
|
var input1 = "more than MILLION";
|
|
var results = ["more than MILLION"];
|
|
shouldBe("regex242.exec(input1);", "results");
|
|
var input2 = "more \n than Million";
|
|
var results = ["more \x0a than Million"];
|
|
shouldBe("regex242.exec(input2);", "results");
|
|
var input3 = "MORE THAN MILLION";
|
|
var results = ["MORE THAN MILLION"];
|
|
// Failers
|
|
shouldBe("regex242.exec(input3);", "results");
|
|
var input4 = "more \n than \n million";
|
|
var results = null;
|
|
shouldBe("regex242.exec(input4);", "results");
|
|
|
|
var regex243 = /(?:ab+)+c/i;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex243.exec(input0);", "results");
|
|
var input1 = "aBbc";
|
|
var results = ["aBbc"];
|
|
shouldBe("regex243.exec(input1);", "results");
|
|
var input2 = "aBBc";
|
|
var results = ["aBBc"];
|
|
shouldBe("regex243.exec(input2);", "results");
|
|
var input3 = "Abc";
|
|
var results = ["Abc"];
|
|
shouldBe("regex243.exec(input3);", "results");
|
|
var input4 = "abbC";
|
|
var results = ["abbC"];
|
|
shouldBe("regex243.exec(input4);", "results");
|
|
// Failers
|
|
var input5 = "abAb";
|
|
var results = null;
|
|
shouldBe("regex243.exec(input5);", "results");
|
|
|
|
var regex244 = /(?=a[bB])\w\wc/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex244.exec(input0);", "results");
|
|
var input1 = "aBc";
|
|
var results = ["aBc"];
|
|
shouldBe("regex244.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "Ab";
|
|
var results = null;
|
|
shouldBe("regex244.exec(input2);", "results");
|
|
var input3 = "abC";
|
|
var results = null;
|
|
shouldBe("regex244.exec(input3);", "results");
|
|
var input4 = "aBC";
|
|
var results = null;
|
|
shouldBe("regex244.exec(input4);", "results");
|
|
|
|
var regex246 = /(?:(a)|b)(?:A|B)/;
|
|
var input0 = "aA";
|
|
var results = ["aA", "a"];
|
|
shouldBe("regex246.exec(input0);", "results");
|
|
var input1 = "bB";
|
|
var results = ["bB", undefined];
|
|
shouldBe("regex246.exec(input1);", "results");
|
|
var input2 = "aB";
|
|
var results = ["aB", "a"];
|
|
shouldBe("regex246.exec(input2);", "results");
|
|
var input3 = "bA";
|
|
var results = ["bA", undefined];
|
|
shouldBe("regex246.exec(input3);", "results");
|
|
|
|
var regex247 = /^(a)?(?:a|b)+$/;
|
|
var input0 = "aa";
|
|
var results = ["aa", "a"];
|
|
shouldBe("regex247.exec(input0);", "results");
|
|
var input1 = "b";
|
|
var results = ["b", undefined];
|
|
shouldBe("regex247.exec(input1);", "results");
|
|
var input2 = "bb";
|
|
var results = ["bb", undefined];
|
|
shouldBe("regex247.exec(input2);", "results");
|
|
var input3 = "ab";
|
|
var results = ["ab", "a"];
|
|
shouldBe("regex247.exec(input3);", "results");
|
|
|
|
var regex248 = /^(?:(?=abc)\w{3}:|\d\d)$/;
|
|
var input0 = "abc:";
|
|
var results = ["abc:"];
|
|
shouldBe("regex248.exec(input0);", "results");
|
|
var input1 = "12";
|
|
var results = ["12"];
|
|
shouldBe("regex248.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "123";
|
|
var results = null;
|
|
shouldBe("regex248.exec(input2);", "results");
|
|
var input3 = "xyz";
|
|
var results = null;
|
|
shouldBe("regex248.exec(input3);", "results");
|
|
|
|
var regex249 = /^(?:(?!abc)\d\d|\w{3}:)$/;
|
|
var input0 = "abc:";
|
|
var results = ["abc:"];
|
|
shouldBe("regex249.exec(input0);", "results");
|
|
var input1 = "12";
|
|
var results = ["12"];
|
|
shouldBe("regex249.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "123";
|
|
var results = null;
|
|
shouldBe("regex249.exec(input2);", "results");
|
|
var input3 = "xyz";
|
|
var results = null;
|
|
shouldBe("regex249.exec(input3);", "results");
|
|
|
|
var regex252 = /(?=\()(\()[^()]+\)|[^()]+/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", undefined];
|
|
shouldBe("regex252.exec(input0);", "results");
|
|
var input1 = "(abcd)";
|
|
var results = ["(abcd)", "("];
|
|
shouldBe("regex252.exec(input1);", "results");
|
|
var input2 = "the quick (abcd) fox";
|
|
var results = ["the quick ", undefined];
|
|
shouldBe("regex252.exec(input2);", "results");
|
|
var input3 = "(abcd";
|
|
var results = ["abcd", undefined];
|
|
shouldBe("regex252.exec(input3);", "results");
|
|
|
|
var regex253 = /^(?:a|(1)(2))+$/;
|
|
var input0 = "12";
|
|
var results = ["12", "1", "2"];
|
|
shouldBe("regex253.exec(input0);", "results");
|
|
var input1 = "12a";
|
|
var results = ["12a", undefined, undefined];
|
|
shouldBe("regex253.exec(input1);", "results");
|
|
var input2 = "12aa";
|
|
var results = ["12aa", undefined, undefined];
|
|
shouldBe("regex253.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "1234";
|
|
var results = null;
|
|
shouldBe("regex253.exec(input3);", "results");
|
|
|
|
var regex254 = /(blah)\s+\1/i;
|
|
var input0 = "blah blah";
|
|
var results = ["blah blah", "blah"];
|
|
shouldBe("regex254.exec(input0);", "results");
|
|
var input1 = "BLAH BLAH";
|
|
var results = ["BLAH BLAH", "BLAH"];
|
|
shouldBe("regex254.exec(input1);", "results");
|
|
var input2 = "Blah Blah";
|
|
var results = ["Blah Blah", "Blah"];
|
|
shouldBe("regex254.exec(input2);", "results");
|
|
var input3 = "blaH blaH";
|
|
var results = ["blaH blaH", "blaH"];
|
|
shouldBe("regex254.exec(input3);", "results");
|
|
var input4 = "blah BLAH";
|
|
var results = ["blah BLAH", "blah"];
|
|
shouldBe("regex254.exec(input4);", "results");
|
|
var input5 = "Blah blah";
|
|
var results = ["Blah blah", "Blah"];
|
|
shouldBe("regex254.exec(input5);", "results");
|
|
var input6 = "blaH blah";
|
|
var results = ["blaH blah", "blaH"];
|
|
shouldBe("regex254.exec(input6);", "results");
|
|
|
|
var regex255 = /(blah)\s+(?:\1)/i;
|
|
var input0 = "blah blah";
|
|
var results = ["blah blah", "blah"];
|
|
shouldBe("regex255.exec(input0);", "results");
|
|
var input1 = "BLAH BLAH";
|
|
var results = ["BLAH BLAH", "BLAH"];
|
|
shouldBe("regex255.exec(input1);", "results");
|
|
var input2 = "Blah Blah";
|
|
var results = ["Blah Blah", "Blah"];
|
|
shouldBe("regex255.exec(input2);", "results");
|
|
var input3 = "blaH blaH";
|
|
var results = ["blaH blaH", "blaH"];
|
|
shouldBe("regex255.exec(input3);", "results");
|
|
var input4 = "blah BLAH";
|
|
var results = ["blah BLAH", "blah"];
|
|
shouldBe("regex255.exec(input4);", "results");
|
|
var input5 = "Blah blah";
|
|
var results = ["Blah blah", "Blah"];
|
|
shouldBe("regex255.exec(input5);", "results");
|
|
var input6 = "blaH blah";
|
|
var results = ["blaH blah", "blaH"];
|
|
shouldBe("regex255.exec(input6);", "results");
|
|
|
|
var regex257 = /(abc|)+/;
|
|
var input0 = "abc";
|
|
var results = ["abc", "abc"];
|
|
shouldBe("regex257.exec(input0);", "results");
|
|
var input1 = "abcabc";
|
|
var results = ["abcabc", "abc"];
|
|
shouldBe("regex257.exec(input1);", "results");
|
|
var input2 = "abcabcabc";
|
|
var results = ["abcabcabc", "abc"];
|
|
shouldBe("regex257.exec(input2);", "results");
|
|
var input3 = "xyz";
|
|
var results = ["", ""];
|
|
shouldBe("regex257.exec(input3);", "results");
|
|
|
|
var regex258 = /([a]*)*/;
|
|
var input0 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex258.exec(input0);", "results");
|
|
var input1 = "aaaaa";
|
|
var results = ["aaaaa", "aaaaa"];
|
|
shouldBe("regex258.exec(input1);", "results");
|
|
|
|
var regex259 = /([ab]*)*/;
|
|
var input0 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex259.exec(input0);", "results");
|
|
var input1 = "b";
|
|
var results = ["b", "b"];
|
|
shouldBe("regex259.exec(input1);", "results");
|
|
var input2 = "ababab";
|
|
var results = ["ababab", "ababab"];
|
|
shouldBe("regex259.exec(input2);", "results");
|
|
var input3 = "aaaabcde";
|
|
var results = ["aaaab", "aaaab"];
|
|
shouldBe("regex259.exec(input3);", "results");
|
|
var input4 = "bbbb";
|
|
var results = ["bbbb", "bbbb"];
|
|
shouldBe("regex259.exec(input4);", "results");
|
|
|
|
var regex260 = /([^a]*)*/;
|
|
var input0 = "b";
|
|
var results = ["b", "b"];
|
|
shouldBe("regex260.exec(input0);", "results");
|
|
var input1 = "bbbb";
|
|
var results = ["bbbb", "bbbb"];
|
|
shouldBe("regex260.exec(input1);", "results");
|
|
var input2 = "aaa";
|
|
var results = ["", undefined];
|
|
shouldBe("regex260.exec(input2);", "results");
|
|
|
|
var regex261 = /([^ab]*)*/;
|
|
var input0 = "cccc";
|
|
var results = ["cccc", "cccc"];
|
|
shouldBe("regex261.exec(input0);", "results");
|
|
var input1 = "abab";
|
|
var results = ["", undefined];
|
|
shouldBe("regex261.exec(input1);", "results");
|
|
|
|
var regex262 = /([a]*?)*/;
|
|
var input0 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex262.exec(input0);", "results");
|
|
var input1 = "aaaa";
|
|
var results = ["aaaa", "a"];
|
|
shouldBe("regex262.exec(input1);", "results");
|
|
|
|
var regex263 = /([ab]*?)*/;
|
|
var input0 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex263.exec(input0);", "results");
|
|
var input1 = "b";
|
|
var results = ["b", "b"];
|
|
shouldBe("regex263.exec(input1);", "results");
|
|
var input2 = "abab";
|
|
var results = ["abab", "b"];
|
|
shouldBe("regex263.exec(input2);", "results");
|
|
var input3 = "baba";
|
|
var results = ["baba", "a"];
|
|
shouldBe("regex263.exec(input3);", "results");
|
|
|
|
var regex264 = /([^a]*?)*/;
|
|
var input0 = "b";
|
|
var results = ["b", "b"];
|
|
shouldBe("regex264.exec(input0);", "results");
|
|
var input1 = "bbbb";
|
|
var results = ["bbbb", "b"];
|
|
shouldBe("regex264.exec(input1);", "results");
|
|
var input2 = "aaa";
|
|
var results = ["", undefined];
|
|
shouldBe("regex264.exec(input2);", "results");
|
|
|
|
var regex265 = /([^ab]*?)*/;
|
|
var input0 = "c";
|
|
var results = ["c", "c"];
|
|
shouldBe("regex265.exec(input0);", "results");
|
|
var input1 = "cccc";
|
|
var results = ["cccc", "c"];
|
|
shouldBe("regex265.exec(input1);", "results");
|
|
var input2 = "baba";
|
|
var results = ["", undefined];
|
|
shouldBe("regex265.exec(input2);", "results");
|
|
|
|
var regex269 = /(?=[^a-z]+[a-z])\d{2}-[a-z]{3}-\d{2}|(?![^a-z]+[a-z])\d{2}-\d{2}-\d{2}/;
|
|
var input0 = "12-sep-98";
|
|
var results = ["12-sep-98"];
|
|
shouldBe("regex269.exec(input0);", "results");
|
|
var input1 = "12-09-98";
|
|
var results = ["12-09-98"];
|
|
shouldBe("regex269.exec(input1);", "results");
|
|
var input2 = "sep-12-98";
|
|
var results = null;
|
|
shouldBe("regex269.exec(input2);", "results");
|
|
|
|
var regex271 = /(?:saturday|sunday)/i;
|
|
var input0 = "saturday";
|
|
var results = ["saturday"];
|
|
shouldBe("regex271.exec(input0);", "results");
|
|
var input1 = "sunday";
|
|
var results = ["sunday"];
|
|
shouldBe("regex271.exec(input1);", "results");
|
|
var input2 = "Saturday";
|
|
var results = ["Saturday"];
|
|
shouldBe("regex271.exec(input2);", "results");
|
|
var input3 = "Sunday";
|
|
var results = ["Sunday"];
|
|
shouldBe("regex271.exec(input3);", "results");
|
|
var input4 = "SATURDAY";
|
|
var results = ["SATURDAY"];
|
|
shouldBe("regex271.exec(input4);", "results");
|
|
var input5 = "SUNDAY";
|
|
var results = ["SUNDAY"];
|
|
shouldBe("regex271.exec(input5);", "results");
|
|
var input6 = "SunDay";
|
|
var results = ["SunDay"];
|
|
shouldBe("regex271.exec(input6);", "results");
|
|
|
|
var regex272 = /([aA][bB][cC]|[bB][bB])x/;
|
|
var input0 = "abcx";
|
|
var results = ["abcx", "abc"];
|
|
shouldBe("regex272.exec(input0);", "results");
|
|
var input1 = "aBCx";
|
|
var results = ["aBCx", "aBC"];
|
|
shouldBe("regex272.exec(input1);", "results");
|
|
var input2 = "bbx";
|
|
var results = ["bbx", "bb"];
|
|
shouldBe("regex272.exec(input2);", "results");
|
|
var input3 = "BBx";
|
|
var results = ["BBx", "BB"];
|
|
shouldBe("regex272.exec(input3);", "results");
|
|
// Failers
|
|
var input4 = "abcX";
|
|
var results = null;
|
|
shouldBe("regex272.exec(input4);", "results");
|
|
var input5 = "aBCX";
|
|
var results = null;
|
|
shouldBe("regex272.exec(input5);", "results");
|
|
var input6 = "bbX";
|
|
var results = null;
|
|
shouldBe("regex272.exec(input6);", "results");
|
|
var input7 = "BBX";
|
|
var results = null;
|
|
shouldBe("regex272.exec(input7);", "results");
|
|
|
|
var regex273 = /^([ab][cd]|[ef])/i;
|
|
var input0 = "ac";
|
|
var results = ["ac", "ac"];
|
|
shouldBe("regex273.exec(input0);", "results");
|
|
var input1 = "aC";
|
|
var results = ["aC", "aC"];
|
|
shouldBe("regex273.exec(input1);", "results");
|
|
var input2 = "bD";
|
|
var results = ["bD", "bD"];
|
|
shouldBe("regex273.exec(input2);", "results");
|
|
var input3 = "elephant";
|
|
var results = ["e", "e"];
|
|
shouldBe("regex273.exec(input3);", "results");
|
|
var input4 = "Europe";
|
|
var results = ["E", "E"];
|
|
shouldBe("regex273.exec(input4);", "results");
|
|
var input5 = "frog";
|
|
var results = ["f", "f"];
|
|
shouldBe("regex273.exec(input5);", "results");
|
|
var input6 = "France";
|
|
var results = ["F", "F"];
|
|
shouldBe("regex273.exec(input6);", "results");
|
|
// Failers
|
|
var input7 = "Africa";
|
|
var results = null;
|
|
shouldBe("regex273.exec(input7);", "results");
|
|
|
|
var regex274 = /^(ab|a[b-cB-C]d|x[yY]|[zZ])/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "ab"];
|
|
shouldBe("regex274.exec(input0);", "results");
|
|
var input1 = "aBd";
|
|
var results = ["aBd", "aBd"];
|
|
shouldBe("regex274.exec(input1);", "results");
|
|
var input2 = "xy";
|
|
var results = ["xy", "xy"];
|
|
shouldBe("regex274.exec(input2);", "results");
|
|
var input3 = "xY";
|
|
var results = ["xY", "xY"];
|
|
shouldBe("regex274.exec(input3);", "results");
|
|
var input4 = "zebra";
|
|
var results = ["z", "z"];
|
|
shouldBe("regex274.exec(input4);", "results");
|
|
var input5 = "Zambesi";
|
|
var results = ["Z", "Z"];
|
|
shouldBe("regex274.exec(input5);", "results");
|
|
// Failers
|
|
var input6 = "aCD";
|
|
var results = null;
|
|
shouldBe("regex274.exec(input6);", "results");
|
|
var input7 = "XY";
|
|
var results = null;
|
|
shouldBe("regex274.exec(input7);", "results");
|
|
|
|
var regex277 = /^(a\1?){4}$/;
|
|
var input0 = "a";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input0);", "results");
|
|
var input1 = "aa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input1);", "results");
|
|
var input2 = "aaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input2);", "results");
|
|
var input3 = "aaaa";
|
|
var results = ["aaaa", "a"];
|
|
shouldBe("regex277.exec(input3);", "results");
|
|
var input4 = "aaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input4);", "results");
|
|
var input5 = "aaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input5);", "results");
|
|
var input6 = "aaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input6);", "results");
|
|
var input7 = "aaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input7);", "results");
|
|
var input8 = "aaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input8);", "results");
|
|
var input9 = "aaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input9);", "results");
|
|
var input10 = "aaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input10);", "results");
|
|
var input11 = "aaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input11);", "results");
|
|
var input12 = "aaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input12);", "results");
|
|
var input13 = "aaaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input13);", "results");
|
|
var input14 = "aaaaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex277.exec(input14);", "results");
|
|
|
|
var regex278 = /^(a\1?)(a\1?)(a\2?)(a\3?)$/;
|
|
var input0 = "a";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input0);", "results");
|
|
var input1 = "aa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input1);", "results");
|
|
var input2 = "aaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input2);", "results");
|
|
var input3 = "aaaa";
|
|
var results = ["aaaa", "a", "a", "a", "a"];
|
|
shouldBe("regex278.exec(input3);", "results");
|
|
var input4 = "aaaaa";
|
|
var results = ["aaaaa", "a", "aa", "a", "a"];
|
|
shouldBe("regex278.exec(input4);", "results");
|
|
var input5 = "aaaaaa";
|
|
var results = ["aaaaaa", "a", "aa", "a", "aa"];
|
|
shouldBe("regex278.exec(input5);", "results");
|
|
var input6 = "aaaaaaa";
|
|
var results = ["aaaaaaa", "a", "aa", "aaa", "a"];
|
|
shouldBe("regex278.exec(input6);", "results");
|
|
var input7 = "aaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input7);", "results");
|
|
var input8 = "aaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input8);", "results");
|
|
var input9 = "aaaaaaaaaa";
|
|
var results = ["aaaaaaaaaa", "a", "aa", "aaa", "aaaa"];
|
|
shouldBe("regex278.exec(input9);", "results");
|
|
var input10 = "aaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input10);", "results");
|
|
var input11 = "aaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input11);", "results");
|
|
var input12 = "aaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input12);", "results");
|
|
var input13 = "aaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input13);", "results");
|
|
var input14 = "aaaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input14);", "results");
|
|
var input15 = "aaaaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex278.exec(input15);", "results");
|
|
|
|
var regex279 = /abc/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex279.exec(input0);", "results");
|
|
var input1 = "xabcy";
|
|
var results = ["abc"];
|
|
shouldBe("regex279.exec(input1);", "results");
|
|
var input2 = "ababc";
|
|
var results = ["abc"];
|
|
shouldBe("regex279.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "xbc";
|
|
var results = null;
|
|
shouldBe("regex279.exec(input3);", "results");
|
|
var input4 = "axc";
|
|
var results = null;
|
|
shouldBe("regex279.exec(input4);", "results");
|
|
var input5 = "abx";
|
|
var results = null;
|
|
shouldBe("regex279.exec(input5);", "results");
|
|
|
|
var regex280 = /ab*c/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex280.exec(input0);", "results");
|
|
|
|
var regex281 = /ab*bc/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex281.exec(input0);", "results");
|
|
var input1 = "abbc";
|
|
var results = ["abbc"];
|
|
shouldBe("regex281.exec(input1);", "results");
|
|
var input2 = "abbbbc";
|
|
var results = ["abbbbc"];
|
|
shouldBe("regex281.exec(input2);", "results");
|
|
|
|
var regex282 = /.{1}/;
|
|
var input0 = "abbbbc";
|
|
var results = ["a"];
|
|
shouldBe("regex282.exec(input0);", "results");
|
|
|
|
var regex283 = /.{3,4}/;
|
|
var input0 = "abbbbc";
|
|
var results = ["abbb"];
|
|
shouldBe("regex283.exec(input0);", "results");
|
|
|
|
var regex284 = /ab{0,}bc/;
|
|
var input0 = "abbbbc";
|
|
var results = ["abbbbc"];
|
|
shouldBe("regex284.exec(input0);", "results");
|
|
|
|
var regex285 = /ab+bc/;
|
|
var input0 = "abbc";
|
|
var results = ["abbc"];
|
|
shouldBe("regex285.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abc";
|
|
var results = null;
|
|
shouldBe("regex285.exec(input1);", "results");
|
|
var input2 = "abq";
|
|
var results = null;
|
|
shouldBe("regex285.exec(input2);", "results");
|
|
|
|
var regex286 = /ab+bc/;
|
|
var input0 = "abbbbc";
|
|
var results = ["abbbbc"];
|
|
shouldBe("regex286.exec(input0);", "results");
|
|
|
|
var regex287 = /ab{1,}bc/;
|
|
var input0 = "abbbbc";
|
|
var results = ["abbbbc"];
|
|
shouldBe("regex287.exec(input0);", "results");
|
|
|
|
var regex288 = /ab{1,3}bc/;
|
|
var input0 = "abbbbc";
|
|
var results = ["abbbbc"];
|
|
shouldBe("regex288.exec(input0);", "results");
|
|
|
|
var regex289 = /ab{3,4}bc/;
|
|
var input0 = "abbbbc";
|
|
var results = ["abbbbc"];
|
|
shouldBe("regex289.exec(input0);", "results");
|
|
|
|
var regex290 = /ab{4,5}bc/;
|
|
// Failers
|
|
var input0 = "abq";
|
|
var results = null;
|
|
shouldBe("regex290.exec(input0);", "results");
|
|
var input1 = "abbbbc";
|
|
var results = null;
|
|
shouldBe("regex290.exec(input1);", "results");
|
|
|
|
var regex291 = /ab?bc/;
|
|
var input0 = "abbc";
|
|
var results = ["abbc"];
|
|
shouldBe("regex291.exec(input0);", "results");
|
|
var input1 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex291.exec(input1);", "results");
|
|
|
|
var regex292 = /ab{0,1}bc/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex292.exec(input0);", "results");
|
|
|
|
var regex293 = /ab?c/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex293.exec(input0);", "results");
|
|
|
|
var regex294 = /ab{0,1}c/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex294.exec(input0);", "results");
|
|
|
|
var regex295 = /^abc/;
|
|
var input0 = "abcc";
|
|
var results = ["abc"];
|
|
shouldBe("regex295.exec(input0);", "results");
|
|
|
|
var regex296 = /abc$/;
|
|
var input0 = "aabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex296.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "aabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex296.exec(input1);", "results");
|
|
var input2 = "aabcd";
|
|
var results = null;
|
|
shouldBe("regex296.exec(input2);", "results");
|
|
|
|
var regex297 = /^/;
|
|
var input0 = "abc";
|
|
var results = [""];
|
|
shouldBe("regex297.exec(input0);", "results");
|
|
|
|
var regex298 = /$/;
|
|
var input0 = "abc";
|
|
var results = [""];
|
|
shouldBe("regex298.exec(input0);", "results");
|
|
|
|
var regex299 = /a.c/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex299.exec(input0);", "results");
|
|
var input1 = "axc";
|
|
var results = ["axc"];
|
|
shouldBe("regex299.exec(input1);", "results");
|
|
|
|
var regex300 = /a.*c/;
|
|
var input0 = "axyzc";
|
|
var results = ["axyzc"];
|
|
shouldBe("regex300.exec(input0);", "results");
|
|
|
|
var regex301 = /a[bc]d/;
|
|
var input0 = "abd";
|
|
var results = ["abd"];
|
|
shouldBe("regex301.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "axyzd";
|
|
var results = null;
|
|
shouldBe("regex301.exec(input1);", "results");
|
|
var input2 = "abc";
|
|
var results = null;
|
|
shouldBe("regex301.exec(input2);", "results");
|
|
|
|
var regex302 = /a[b-d]e/;
|
|
var input0 = "ace";
|
|
var results = ["ace"];
|
|
shouldBe("regex302.exec(input0);", "results");
|
|
|
|
var regex303 = /a[b-d]/;
|
|
var input0 = "aac";
|
|
var results = ["ac"];
|
|
shouldBe("regex303.exec(input0);", "results");
|
|
|
|
var regex304 = /a[-b]/;
|
|
var input0 = "a-";
|
|
var results = ["a-"];
|
|
shouldBe("regex304.exec(input0);", "results");
|
|
|
|
var regex305 = /a[b-]/;
|
|
var input0 = "a-";
|
|
var results = ["a-"];
|
|
shouldBe("regex305.exec(input0);", "results");
|
|
|
|
var regex306 = /a]/;
|
|
var input0 = "a]";
|
|
var results = ["a]"];
|
|
shouldBe("regex306.exec(input0);", "results");
|
|
|
|
var regex307 = /a[\]]b/;
|
|
var input0 = "a]b";
|
|
var results = ["a]b"];
|
|
shouldBe("regex307.exec(input0);", "results");
|
|
|
|
var regex308 = /a[^bc]d/;
|
|
var input0 = "aed";
|
|
var results = ["aed"];
|
|
shouldBe("regex308.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abd";
|
|
var results = null;
|
|
shouldBe("regex308.exec(input1);", "results");
|
|
var input2 = "abd";
|
|
var results = null;
|
|
shouldBe("regex308.exec(input2);", "results");
|
|
|
|
var regex309 = /a[^-b]c/;
|
|
var input0 = "adc";
|
|
var results = ["adc"];
|
|
shouldBe("regex309.exec(input0);", "results");
|
|
|
|
var regex310 = /a[^\]b]c/;
|
|
var input0 = "adc";
|
|
var results = ["adc"];
|
|
shouldBe("regex310.exec(input0);", "results");
|
|
var input1 = "a-c";
|
|
var results = ["a-c"];
|
|
shouldBe("regex310.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "a]c";
|
|
var results = null;
|
|
shouldBe("regex310.exec(input2);", "results");
|
|
|
|
var regex311 = /\ba\b/;
|
|
var input0 = "a-";
|
|
var results = ["a"];
|
|
shouldBe("regex311.exec(input0);", "results");
|
|
var input1 = "-a";
|
|
var results = ["a"];
|
|
shouldBe("regex311.exec(input1);", "results");
|
|
var input2 = "-a-";
|
|
var results = ["a"];
|
|
shouldBe("regex311.exec(input2);", "results");
|
|
|
|
var regex312 = /\by\b/;
|
|
// Failers
|
|
var input0 = "xy";
|
|
var results = null;
|
|
shouldBe("regex312.exec(input0);", "results");
|
|
var input1 = "yz";
|
|
var results = null;
|
|
shouldBe("regex312.exec(input1);", "results");
|
|
var input2 = "xyz";
|
|
var results = null;
|
|
shouldBe("regex312.exec(input2);", "results");
|
|
|
|
var regex313 = /\Ba\B/;
|
|
// Failers
|
|
var input0 = "a-";
|
|
var results = null;
|
|
shouldBe("regex313.exec(input0);", "results");
|
|
var input1 = "-a";
|
|
var results = null;
|
|
shouldBe("regex313.exec(input1);", "results");
|
|
var input2 = "-a-";
|
|
var results = null;
|
|
shouldBe("regex313.exec(input2);", "results");
|
|
|
|
var regex314 = /\By\b/;
|
|
var input0 = "xy";
|
|
var results = ["y"];
|
|
shouldBe("regex314.exec(input0);", "results");
|
|
|
|
var regex315 = /\by\B/;
|
|
var input0 = "yz";
|
|
var results = ["y"];
|
|
shouldBe("regex315.exec(input0);", "results");
|
|
|
|
var regex316 = /\By\B/;
|
|
var input0 = "xyz";
|
|
var results = ["y"];
|
|
shouldBe("regex316.exec(input0);", "results");
|
|
|
|
var regex317 = /\w/;
|
|
var input0 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex317.exec(input0);", "results");
|
|
|
|
var regex318 = /\W/;
|
|
var input0 = "-";
|
|
var results = ["-"];
|
|
shouldBe("regex318.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "-";
|
|
var results = ["-"];
|
|
shouldBe("regex318.exec(input1);", "results");
|
|
var input2 = "a";
|
|
var results = null;
|
|
shouldBe("regex318.exec(input2);", "results");
|
|
|
|
var regex319 = /a\sb/;
|
|
var input0 = "a b";
|
|
var results = ["a b"];
|
|
shouldBe("regex319.exec(input0);", "results");
|
|
|
|
var regex320 = /a\Sb/;
|
|
var input0 = "a-b";
|
|
var results = ["a-b"];
|
|
shouldBe("regex320.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "a-b";
|
|
var results = ["a-b"];
|
|
shouldBe("regex320.exec(input1);", "results");
|
|
var input2 = "a b";
|
|
var results = null;
|
|
shouldBe("regex320.exec(input2);", "results");
|
|
|
|
var regex321 = /\d/;
|
|
var input0 = "1";
|
|
var results = ["1"];
|
|
shouldBe("regex321.exec(input0);", "results");
|
|
|
|
var regex322 = /\D/;
|
|
var input0 = "-";
|
|
var results = ["-"];
|
|
shouldBe("regex322.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "-";
|
|
var results = ["-"];
|
|
shouldBe("regex322.exec(input1);", "results");
|
|
var input2 = "1";
|
|
var results = null;
|
|
shouldBe("regex322.exec(input2);", "results");
|
|
|
|
var regex323 = /[\w]/;
|
|
var input0 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex323.exec(input0);", "results");
|
|
|
|
var regex324 = /[\W]/;
|
|
var input0 = "-";
|
|
var results = ["-"];
|
|
shouldBe("regex324.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "-";
|
|
var results = ["-"];
|
|
shouldBe("regex324.exec(input1);", "results");
|
|
var input2 = "a";
|
|
var results = null;
|
|
shouldBe("regex324.exec(input2);", "results");
|
|
|
|
var regex325 = /a[\s]b/;
|
|
var input0 = "a b";
|
|
var results = ["a b"];
|
|
shouldBe("regex325.exec(input0);", "results");
|
|
|
|
var regex326 = /a[\S]b/;
|
|
var input0 = "a-b";
|
|
var results = ["a-b"];
|
|
shouldBe("regex326.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "a-b";
|
|
var results = ["a-b"];
|
|
shouldBe("regex326.exec(input1);", "results");
|
|
var input2 = "a b";
|
|
var results = null;
|
|
shouldBe("regex326.exec(input2);", "results");
|
|
|
|
var regex327 = /[\d]/;
|
|
var input0 = "1";
|
|
var results = ["1"];
|
|
shouldBe("regex327.exec(input0);", "results");
|
|
|
|
var regex328 = /[\D]/;
|
|
var input0 = "-";
|
|
var results = ["-"];
|
|
shouldBe("regex328.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "-";
|
|
var results = ["-"];
|
|
shouldBe("regex328.exec(input1);", "results");
|
|
var input2 = "1";
|
|
var results = null;
|
|
shouldBe("regex328.exec(input2);", "results");
|
|
|
|
var regex329 = /ab|cd/;
|
|
var input0 = "abc";
|
|
var results = ["ab"];
|
|
shouldBe("regex329.exec(input0);", "results");
|
|
var input1 = "abcd";
|
|
var results = ["ab"];
|
|
shouldBe("regex329.exec(input1);", "results");
|
|
|
|
var regex330 = /()ef/;
|
|
var input0 = "def";
|
|
var results = ["ef", ""];
|
|
shouldBe("regex330.exec(input0);", "results");
|
|
|
|
var regex331 = /a\(b/;
|
|
var input0 = "a(b";
|
|
var results = ["a(b"];
|
|
shouldBe("regex331.exec(input0);", "results");
|
|
|
|
var regex332 = /a\(*b/;
|
|
var input0 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex332.exec(input0);", "results");
|
|
var input1 = "a((b";
|
|
var results = ["a((b"];
|
|
shouldBe("regex332.exec(input1);", "results");
|
|
|
|
var regex333 = /a\\b/;
|
|
var input0 = "a\b";
|
|
var results = null;
|
|
shouldBe("regex333.exec(input0);", "results");
|
|
|
|
var regex334 = /((a))/;
|
|
var input0 = "abc";
|
|
var results = ["a", "a", "a"];
|
|
shouldBe("regex334.exec(input0);", "results");
|
|
|
|
var regex335 = /(a)b(c)/;
|
|
var input0 = "abc";
|
|
var results = ["abc", "a", "c"];
|
|
shouldBe("regex335.exec(input0);", "results");
|
|
|
|
var regex336 = /a+b+c/;
|
|
var input0 = "aabbabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex336.exec(input0);", "results");
|
|
|
|
var regex337 = /a{1,}b{1,}c/;
|
|
var input0 = "aabbabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex337.exec(input0);", "results");
|
|
|
|
var regex338 = /a.+?c/;
|
|
var input0 = "abcabc";
|
|
var results = ["abc"];
|
|
shouldBe("regex338.exec(input0);", "results");
|
|
|
|
var regex339 = /(a+|b)*/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "b"];
|
|
shouldBe("regex339.exec(input0);", "results");
|
|
|
|
var regex340 = /(a+|b){0,}/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "b"];
|
|
shouldBe("regex340.exec(input0);", "results");
|
|
|
|
var regex341 = /(a+|b)+/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "b"];
|
|
shouldBe("regex341.exec(input0);", "results");
|
|
|
|
var regex342 = /(a+|b){1,}/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "b"];
|
|
shouldBe("regex342.exec(input0);", "results");
|
|
|
|
var regex343 = /(a+|b)?/;
|
|
var input0 = "ab";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex343.exec(input0);", "results");
|
|
|
|
var regex344 = /(a+|b){0,1}/;
|
|
var input0 = "ab";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex344.exec(input0);", "results");
|
|
|
|
var regex345 = /[^ab]*/;
|
|
var input0 = "cde";
|
|
var results = ["cde"];
|
|
shouldBe("regex345.exec(input0);", "results");
|
|
|
|
var regex346 = /abc/;
|
|
// Failers
|
|
var input0 = "b";
|
|
var results = null;
|
|
shouldBe("regex346.exec(input0);", "results");
|
|
|
|
var regex347 = /([abc])*d/;
|
|
var input0 = "abbbcd";
|
|
var results = ["abbbcd", "c"];
|
|
shouldBe("regex347.exec(input0);", "results");
|
|
|
|
var regex348 = /([abc])*bcd/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", "a"];
|
|
shouldBe("regex348.exec(input0);", "results");
|
|
|
|
var regex349 = /a|b|c|d|e/;
|
|
var input0 = "e";
|
|
var results = ["e"];
|
|
shouldBe("regex349.exec(input0);", "results");
|
|
|
|
var regex350 = /(a|b|c|d|e)f/;
|
|
var input0 = "ef";
|
|
var results = ["ef", "e"];
|
|
shouldBe("regex350.exec(input0);", "results");
|
|
|
|
var regex351 = /abcd*efg/;
|
|
var input0 = "abcdefg";
|
|
var results = ["abcdefg"];
|
|
shouldBe("regex351.exec(input0);", "results");
|
|
|
|
var regex352 = /ab*/;
|
|
var input0 = "xabyabbbz";
|
|
var results = ["ab"];
|
|
shouldBe("regex352.exec(input0);", "results");
|
|
var input1 = "xayabbbz";
|
|
var results = ["a"];
|
|
shouldBe("regex352.exec(input1);", "results");
|
|
|
|
var regex353 = /(ab|cd)e/;
|
|
var input0 = "abcde";
|
|
var results = ["cde", "cd"];
|
|
shouldBe("regex353.exec(input0);", "results");
|
|
|
|
var regex354 = /[abhgefdc]ij/;
|
|
var input0 = "hij";
|
|
var results = ["hij"];
|
|
shouldBe("regex354.exec(input0);", "results");
|
|
|
|
var regex355 = /(abc|)ef/;
|
|
var input0 = "abcdef";
|
|
var results = ["ef", ""];
|
|
shouldBe("regex355.exec(input0);", "results");
|
|
|
|
var regex356 = /(a|b)c*d/;
|
|
var input0 = "abcd";
|
|
var results = ["bcd", "b"];
|
|
shouldBe("regex356.exec(input0);", "results");
|
|
|
|
var regex357 = /(ab|ab*)bc/;
|
|
var input0 = "abc";
|
|
var results = ["abc", "a"];
|
|
shouldBe("regex357.exec(input0);", "results");
|
|
|
|
var regex358 = /a([bc]*)c*/;
|
|
var input0 = "abc";
|
|
var results = ["abc", "bc"];
|
|
shouldBe("regex358.exec(input0);", "results");
|
|
|
|
var regex359 = /a([bc]*)(c*d)/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", "bc", "d"];
|
|
shouldBe("regex359.exec(input0);", "results");
|
|
|
|
var regex360 = /a([bc]+)(c*d)/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", "bc", "d"];
|
|
shouldBe("regex360.exec(input0);", "results");
|
|
|
|
var regex361 = /a([bc]*)(c+d)/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", "b", "cd"];
|
|
shouldBe("regex361.exec(input0);", "results");
|
|
|
|
var regex362 = /a[bcd]*dcdcde/;
|
|
var input0 = "adcdcde";
|
|
var results = ["adcdcde"];
|
|
shouldBe("regex362.exec(input0);", "results");
|
|
|
|
var regex363 = /a[bcd]+dcdcde/;
|
|
// Failers
|
|
var input0 = "abcde";
|
|
var results = null;
|
|
shouldBe("regex363.exec(input0);", "results");
|
|
var input1 = "adcdcde";
|
|
var results = null;
|
|
shouldBe("regex363.exec(input1);", "results");
|
|
|
|
var regex364 = /(ab|a)b*c/;
|
|
var input0 = "abc";
|
|
var results = ["abc", "ab"];
|
|
shouldBe("regex364.exec(input0);", "results");
|
|
|
|
var regex365 = /((a)(b)c)(d)/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", "abc", "a", "b", "d"];
|
|
shouldBe("regex365.exec(input0);", "results");
|
|
|
|
var regex366 = /[a-zA-Z_][a-zA-Z0-9_]*/;
|
|
var input0 = "alpha";
|
|
var results = ["alpha"];
|
|
shouldBe("regex366.exec(input0);", "results");
|
|
|
|
var regex367 = /^a(bc+|b[eh])g|.h$/;
|
|
var input0 = "abh";
|
|
var results = ["bh", undefined];
|
|
shouldBe("regex367.exec(input0);", "results");
|
|
|
|
var regex368 = /(bc+d$|ef*g.|h?i(j|k))/;
|
|
var input0 = "effgz";
|
|
var results = ["effgz", "effgz", undefined];
|
|
shouldBe("regex368.exec(input0);", "results");
|
|
var input1 = "ij";
|
|
var results = ["ij", "ij", "j"];
|
|
shouldBe("regex368.exec(input1);", "results");
|
|
var input2 = "reffgz";
|
|
var results = ["effgz", "effgz", undefined];
|
|
shouldBe("regex368.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "effg";
|
|
var results = null;
|
|
shouldBe("regex368.exec(input3);", "results");
|
|
var input4 = "bcdd";
|
|
var results = null;
|
|
shouldBe("regex368.exec(input4);", "results");
|
|
|
|
var regex369 = /((((((((((a))))))))))/;
|
|
var input0 = "a";
|
|
var results = ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"];
|
|
shouldBe("regex369.exec(input0);", "results");
|
|
|
|
var regex370 = /((((((((((a))))))))))\10/;
|
|
var input0 = "aa";
|
|
var results = ["aa", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"];
|
|
shouldBe("regex370.exec(input0);", "results");
|
|
|
|
var regex371 = /(((((((((a)))))))))/;
|
|
var input0 = "a";
|
|
var results = ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a"];
|
|
shouldBe("regex371.exec(input0);", "results");
|
|
|
|
var regex372 = /multiple words of text/;
|
|
// Failers
|
|
var input0 = "aa";
|
|
var results = null;
|
|
shouldBe("regex372.exec(input0);", "results");
|
|
var input1 = "uh-uh";
|
|
var results = null;
|
|
shouldBe("regex372.exec(input1);", "results");
|
|
|
|
var regex373 = /multiple words/;
|
|
var input0 = "multiple words, yeah";
|
|
var results = ["multiple words"];
|
|
shouldBe("regex373.exec(input0);", "results");
|
|
|
|
var regex374 = /(.*)c(.*)/;
|
|
var input0 = "abcde";
|
|
var results = ["abcde", "ab", "de"];
|
|
shouldBe("regex374.exec(input0);", "results");
|
|
|
|
var regex375 = /\((.*), (.*)\)/;
|
|
var input0 = "(a, b)";
|
|
var results = ["(a, b)", "a", "b"];
|
|
shouldBe("regex375.exec(input0);", "results");
|
|
|
|
var regex376 = /abcd/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd"];
|
|
shouldBe("regex376.exec(input0);", "results");
|
|
|
|
var regex377 = /a(bc)d/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", "bc"];
|
|
shouldBe("regex377.exec(input0);", "results");
|
|
|
|
var regex378 = /a[-]?c/;
|
|
var input0 = "ac";
|
|
var results = ["ac"];
|
|
shouldBe("regex378.exec(input0);", "results");
|
|
|
|
var regex379 = /(abc)\1/;
|
|
var input0 = "abcabc";
|
|
var results = ["abcabc", "abc"];
|
|
shouldBe("regex379.exec(input0);", "results");
|
|
|
|
var regex380 = /([a-c]*)\1/;
|
|
var input0 = "abcabc";
|
|
var results = ["abcabc", "abc"];
|
|
shouldBe("regex380.exec(input0);", "results");
|
|
|
|
var regex381 = /(a)|\1/;
|
|
var input0 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex381.exec(input0);", "results");
|
|
var input1 = "ab";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex381.exec(input1);", "results");
|
|
var input2 = "x";
|
|
var results = ["", undefined];
|
|
shouldBe("regex381.exec(input2);", "results");
|
|
|
|
var regex382 = /(([a-c])b*?\2)*/;
|
|
var input0 = "ababbbcbc";
|
|
var results = ["ababb", "bb", "b"];
|
|
shouldBe("regex382.exec(input0);", "results");
|
|
|
|
var regex383 = /(([a-c])b*?\2){3}/;
|
|
var input0 = "ababbbcbc";
|
|
var results = ["ababbbcbc", "cbc", "c"];
|
|
shouldBe("regex383.exec(input0);", "results");
|
|
|
|
var regex384 = /((\3|b)\2(a)x)+/;
|
|
var input0 = "aaaxabaxbaaxbbax";
|
|
var results = ["ax", "ax", "", "a"];
|
|
shouldBe("regex384.exec(input0);", "results");
|
|
|
|
var regex385 = /((\3|b)\2(a)){2,}/;
|
|
var input0 = "bbaababbabaaaaabbaaaabba";
|
|
var results = ["bbaa", "a", "", "a"];
|
|
shouldBe("regex385.exec(input0);", "results");
|
|
|
|
var regex386 = /abc/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex386.exec(input0);", "results");
|
|
var input1 = "XABCY";
|
|
var results = ["ABC"];
|
|
shouldBe("regex386.exec(input1);", "results");
|
|
var input2 = "ABABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex386.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "aaxabxbaxbbx";
|
|
var results = null;
|
|
shouldBe("regex386.exec(input3);", "results");
|
|
var input4 = "XBC";
|
|
var results = null;
|
|
shouldBe("regex386.exec(input4);", "results");
|
|
var input5 = "AXC";
|
|
var results = null;
|
|
shouldBe("regex386.exec(input5);", "results");
|
|
var input6 = "ABX";
|
|
var results = null;
|
|
shouldBe("regex386.exec(input6);", "results");
|
|
|
|
var regex387 = /ab*c/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex387.exec(input0);", "results");
|
|
|
|
var regex388 = /ab*bc/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex388.exec(input0);", "results");
|
|
var input1 = "ABBC";
|
|
var results = ["ABBC"];
|
|
shouldBe("regex388.exec(input1);", "results");
|
|
|
|
var regex389 = /ab*?bc/i;
|
|
var input0 = "ABBBBC";
|
|
var results = ["ABBBBC"];
|
|
shouldBe("regex389.exec(input0);", "results");
|
|
|
|
var regex390 = /ab{0,}?bc/i;
|
|
var input0 = "ABBBBC";
|
|
var results = ["ABBBBC"];
|
|
shouldBe("regex390.exec(input0);", "results");
|
|
|
|
var regex391 = /ab+?bc/i;
|
|
var input0 = "ABBC";
|
|
var results = ["ABBC"];
|
|
shouldBe("regex391.exec(input0);", "results");
|
|
|
|
var regex392 = /ab+bc/i;
|
|
// Failers
|
|
var input0 = "ABC";
|
|
var results = null;
|
|
shouldBe("regex392.exec(input0);", "results");
|
|
var input1 = "ABQ";
|
|
var results = null;
|
|
shouldBe("regex392.exec(input1);", "results");
|
|
|
|
var regex393 = /ab+bc/i;
|
|
var input0 = "ABBBBC";
|
|
var results = ["ABBBBC"];
|
|
shouldBe("regex393.exec(input0);", "results");
|
|
|
|
var regex394 = /ab{1,}?bc/i;
|
|
var input0 = "ABBBBC";
|
|
var results = ["ABBBBC"];
|
|
shouldBe("regex394.exec(input0);", "results");
|
|
|
|
var regex395 = /ab{1,3}?bc/i;
|
|
var input0 = "ABBBBC";
|
|
var results = ["ABBBBC"];
|
|
shouldBe("regex395.exec(input0);", "results");
|
|
|
|
var regex396 = /ab{3,4}?bc/i;
|
|
var input0 = "ABBBBC";
|
|
var results = ["ABBBBC"];
|
|
shouldBe("regex396.exec(input0);", "results");
|
|
|
|
var regex397 = /ab{4,5}?bc/i;
|
|
// Failers
|
|
var input0 = "ABQ";
|
|
var results = null;
|
|
shouldBe("regex397.exec(input0);", "results");
|
|
var input1 = "ABBBBC";
|
|
var results = null;
|
|
shouldBe("regex397.exec(input1);", "results");
|
|
|
|
var regex398 = /ab??bc/i;
|
|
var input0 = "ABBC";
|
|
var results = ["ABBC"];
|
|
shouldBe("regex398.exec(input0);", "results");
|
|
var input1 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex398.exec(input1);", "results");
|
|
|
|
var regex399 = /ab{0,1}?bc/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex399.exec(input0);", "results");
|
|
|
|
var regex400 = /ab??c/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex400.exec(input0);", "results");
|
|
|
|
var regex401 = /ab{0,1}?c/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex401.exec(input0);", "results");
|
|
|
|
var regex402 = /^abc$/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex402.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "ABBBBC";
|
|
var results = null;
|
|
shouldBe("regex402.exec(input1);", "results");
|
|
var input2 = "ABCC";
|
|
var results = null;
|
|
shouldBe("regex402.exec(input2);", "results");
|
|
|
|
var regex403 = /^abc/i;
|
|
var input0 = "ABCC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex403.exec(input0);", "results");
|
|
|
|
var regex404 = /abc$/i;
|
|
var input0 = "AABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex404.exec(input0);", "results");
|
|
|
|
var regex405 = /^/i;
|
|
var input0 = "ABC";
|
|
var results = [""];
|
|
shouldBe("regex405.exec(input0);", "results");
|
|
|
|
var regex406 = /$/i;
|
|
var input0 = "ABC";
|
|
var results = [""];
|
|
shouldBe("regex406.exec(input0);", "results");
|
|
|
|
var regex407 = /a.c/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex407.exec(input0);", "results");
|
|
var input1 = "AXC";
|
|
var results = ["AXC"];
|
|
shouldBe("regex407.exec(input1);", "results");
|
|
|
|
var regex408 = /a.*?c/i;
|
|
var input0 = "AXYZC";
|
|
var results = ["AXYZC"];
|
|
shouldBe("regex408.exec(input0);", "results");
|
|
|
|
var regex409 = /a.*c/i;
|
|
// Failers
|
|
var input0 = "AABC";
|
|
var results = ["AABC"];
|
|
shouldBe("regex409.exec(input0);", "results");
|
|
var input1 = "AXYZD";
|
|
var results = null;
|
|
shouldBe("regex409.exec(input1);", "results");
|
|
|
|
var regex410 = /a[bc]d/i;
|
|
var input0 = "ABD";
|
|
var results = ["ABD"];
|
|
shouldBe("regex410.exec(input0);", "results");
|
|
|
|
var regex411 = /a[b-d]e/i;
|
|
var input0 = "ACE";
|
|
var results = ["ACE"];
|
|
shouldBe("regex411.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "ABC";
|
|
var results = null;
|
|
shouldBe("regex411.exec(input1);", "results");
|
|
var input2 = "ABD";
|
|
var results = null;
|
|
shouldBe("regex411.exec(input2);", "results");
|
|
|
|
var regex412 = /a[b-d]/i;
|
|
var input0 = "AAC";
|
|
var results = ["AC"];
|
|
shouldBe("regex412.exec(input0);", "results");
|
|
|
|
var regex413 = /a[-b]/i;
|
|
var input0 = "A-";
|
|
var results = ["A-"];
|
|
shouldBe("regex413.exec(input0);", "results");
|
|
|
|
var regex414 = /a[b-]/i;
|
|
var input0 = "A-";
|
|
var results = ["A-"];
|
|
shouldBe("regex414.exec(input0);", "results");
|
|
|
|
var regex415 = /a]/i;
|
|
var input0 = "A]";
|
|
var results = ["A]"];
|
|
shouldBe("regex415.exec(input0);", "results");
|
|
|
|
var regex416 = /a[\]]b/i;
|
|
var input0 = "A]B";
|
|
var results = ["A]B"];
|
|
shouldBe("regex416.exec(input0);", "results");
|
|
|
|
var regex417 = /a[^bc]d/i;
|
|
var input0 = "AED";
|
|
var results = ["AED"];
|
|
shouldBe("regex417.exec(input0);", "results");
|
|
|
|
var regex418 = /a[^-b]c/i;
|
|
var input0 = "ADC";
|
|
var results = ["ADC"];
|
|
shouldBe("regex418.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "ABD";
|
|
var results = null;
|
|
shouldBe("regex418.exec(input1);", "results");
|
|
var input2 = "A-C";
|
|
var results = null;
|
|
shouldBe("regex418.exec(input2);", "results");
|
|
|
|
var regex419 = /a[^\]b]c/i;
|
|
var input0 = "ADC";
|
|
var results = ["ADC"];
|
|
shouldBe("regex419.exec(input0);", "results");
|
|
|
|
var regex420 = /ab|cd/i;
|
|
var input0 = "ABC";
|
|
var results = ["AB"];
|
|
shouldBe("regex420.exec(input0);", "results");
|
|
var input1 = "ABCD";
|
|
var results = ["AB"];
|
|
shouldBe("regex420.exec(input1);", "results");
|
|
|
|
var regex421 = /()ef/i;
|
|
var input0 = "DEF";
|
|
var results = ["EF", ""];
|
|
shouldBe("regex421.exec(input0);", "results");
|
|
|
|
var regex422 = /$b/i;
|
|
// Failers
|
|
var input0 = "A]C";
|
|
var results = null;
|
|
shouldBe("regex422.exec(input0);", "results");
|
|
var input1 = "B";
|
|
var results = null;
|
|
shouldBe("regex422.exec(input1);", "results");
|
|
|
|
var regex423 = /a\(b/i;
|
|
var input0 = "A(B";
|
|
var results = ["A(B"];
|
|
shouldBe("regex423.exec(input0);", "results");
|
|
|
|
var regex424 = /a\(*b/i;
|
|
var input0 = "AB";
|
|
var results = ["AB"];
|
|
shouldBe("regex424.exec(input0);", "results");
|
|
var input1 = "A((B";
|
|
var results = ["A((B"];
|
|
shouldBe("regex424.exec(input1);", "results");
|
|
|
|
var regex425 = /a\\b/i;
|
|
var input0 = "A\B";
|
|
var results = null;
|
|
shouldBe("regex425.exec(input0);", "results");
|
|
|
|
var regex426 = /((a))/i;
|
|
var input0 = "ABC";
|
|
var results = ["A", "A", "A"];
|
|
shouldBe("regex426.exec(input0);", "results");
|
|
|
|
var regex427 = /(a)b(c)/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC", "A", "C"];
|
|
shouldBe("regex427.exec(input0);", "results");
|
|
|
|
var regex428 = /a+b+c/i;
|
|
var input0 = "AABBABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex428.exec(input0);", "results");
|
|
|
|
var regex429 = /a{1,}b{1,}c/i;
|
|
var input0 = "AABBABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex429.exec(input0);", "results");
|
|
|
|
var regex430 = /a.+?c/i;
|
|
var input0 = "ABCABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex430.exec(input0);", "results");
|
|
|
|
var regex431 = /a.*?c/i;
|
|
var input0 = "ABCABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex431.exec(input0);", "results");
|
|
|
|
var regex432 = /a.{0,5}?c/i;
|
|
var input0 = "ABCABC";
|
|
var results = ["ABC"];
|
|
shouldBe("regex432.exec(input0);", "results");
|
|
|
|
var regex433 = /(a+|b)*/i;
|
|
var input0 = "AB";
|
|
var results = ["AB", "B"];
|
|
shouldBe("regex433.exec(input0);", "results");
|
|
|
|
var regex434 = /(a+|b){0,}/i;
|
|
var input0 = "AB";
|
|
var results = ["AB", "B"];
|
|
shouldBe("regex434.exec(input0);", "results");
|
|
|
|
var regex435 = /(a+|b)+/i;
|
|
var input0 = "AB";
|
|
var results = ["AB", "B"];
|
|
shouldBe("regex435.exec(input0);", "results");
|
|
|
|
var regex436 = /(a+|b){1,}/i;
|
|
var input0 = "AB";
|
|
var results = ["AB", "B"];
|
|
shouldBe("regex436.exec(input0);", "results");
|
|
|
|
var regex437 = /(a+|b)?/i;
|
|
var input0 = "AB";
|
|
var results = ["A", "A"];
|
|
shouldBe("regex437.exec(input0);", "results");
|
|
|
|
var regex438 = /(a+|b){0,1}/i;
|
|
var input0 = "AB";
|
|
var results = ["A", "A"];
|
|
shouldBe("regex438.exec(input0);", "results");
|
|
|
|
var regex439 = /(a+|b){0,1}?/i;
|
|
var input0 = "AB";
|
|
var results = ["", undefined];
|
|
shouldBe("regex439.exec(input0);", "results");
|
|
|
|
var regex440 = /[^ab]*/i;
|
|
var input0 = "CDE";
|
|
var results = ["CDE"];
|
|
shouldBe("regex440.exec(input0);", "results");
|
|
|
|
var regex441 = /([abc])*d/i;
|
|
var input0 = "ABBBCD";
|
|
var results = ["ABBBCD", "C"];
|
|
shouldBe("regex441.exec(input0);", "results");
|
|
|
|
var regex442 = /([abc])*bcd/i;
|
|
var input0 = "ABCD";
|
|
var results = ["ABCD", "A"];
|
|
shouldBe("regex442.exec(input0);", "results");
|
|
|
|
var regex443 = /a|b|c|d|e/i;
|
|
var input0 = "E";
|
|
var results = ["E"];
|
|
shouldBe("regex443.exec(input0);", "results");
|
|
|
|
var regex444 = /(a|b|c|d|e)f/i;
|
|
var input0 = "EF";
|
|
var results = ["EF", "E"];
|
|
shouldBe("regex444.exec(input0);", "results");
|
|
|
|
var regex445 = /abcd*efg/i;
|
|
var input0 = "ABCDEFG";
|
|
var results = ["ABCDEFG"];
|
|
shouldBe("regex445.exec(input0);", "results");
|
|
|
|
var regex446 = /ab*/i;
|
|
var input0 = "XABYABBBZ";
|
|
var results = ["AB"];
|
|
shouldBe("regex446.exec(input0);", "results");
|
|
var input1 = "XAYABBBZ";
|
|
var results = ["A"];
|
|
shouldBe("regex446.exec(input1);", "results");
|
|
|
|
var regex447 = /(ab|cd)e/i;
|
|
var input0 = "ABCDE";
|
|
var results = ["CDE", "CD"];
|
|
shouldBe("regex447.exec(input0);", "results");
|
|
|
|
var regex448 = /[abhgefdc]ij/i;
|
|
var input0 = "HIJ";
|
|
var results = ["HIJ"];
|
|
shouldBe("regex448.exec(input0);", "results");
|
|
|
|
var regex449 = /^(ab|cd)e/i;
|
|
var input0 = "ABCDE";
|
|
var results = null;
|
|
shouldBe("regex449.exec(input0);", "results");
|
|
|
|
var regex450 = /(abc|)ef/i;
|
|
var input0 = "ABCDEF";
|
|
var results = ["EF", ""];
|
|
shouldBe("regex450.exec(input0);", "results");
|
|
|
|
var regex451 = /(a|b)c*d/i;
|
|
var input0 = "ABCD";
|
|
var results = ["BCD", "B"];
|
|
shouldBe("regex451.exec(input0);", "results");
|
|
|
|
var regex452 = /(ab|ab*)bc/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC", "A"];
|
|
shouldBe("regex452.exec(input0);", "results");
|
|
|
|
var regex453 = /a([bc]*)c*/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC", "BC"];
|
|
shouldBe("regex453.exec(input0);", "results");
|
|
|
|
var regex454 = /a([bc]*)(c*d)/i;
|
|
var input0 = "ABCD";
|
|
var results = ["ABCD", "BC", "D"];
|
|
shouldBe("regex454.exec(input0);", "results");
|
|
|
|
var regex455 = /a([bc]+)(c*d)/i;
|
|
var input0 = "ABCD";
|
|
var results = ["ABCD", "BC", "D"];
|
|
shouldBe("regex455.exec(input0);", "results");
|
|
|
|
var regex456 = /a([bc]*)(c+d)/i;
|
|
var input0 = "ABCD";
|
|
var results = ["ABCD", "B", "CD"];
|
|
shouldBe("regex456.exec(input0);", "results");
|
|
|
|
var regex457 = /a[bcd]*dcdcde/i;
|
|
var input0 = "ADCDCDE";
|
|
var results = ["ADCDCDE"];
|
|
shouldBe("regex457.exec(input0);", "results");
|
|
|
|
var regex458 = /(ab|a)b*c/i;
|
|
var input0 = "ABC";
|
|
var results = ["ABC", "AB"];
|
|
shouldBe("regex458.exec(input0);", "results");
|
|
|
|
var regex459 = /((a)(b)c)(d)/i;
|
|
var input0 = "ABCD";
|
|
var results = ["ABCD", "ABC", "A", "B", "D"];
|
|
shouldBe("regex459.exec(input0);", "results");
|
|
|
|
var regex460 = /[a-zA-Z_][a-zA-Z0-9_]*/i;
|
|
var input0 = "ALPHA";
|
|
var results = ["ALPHA"];
|
|
shouldBe("regex460.exec(input0);", "results");
|
|
|
|
var regex461 = /^a(bc+|b[eh])g|.h$/i;
|
|
var input0 = "ABH";
|
|
var results = ["BH", undefined];
|
|
shouldBe("regex461.exec(input0);", "results");
|
|
|
|
var regex462 = /(bc+d$|ef*g.|h?i(j|k))/i;
|
|
var input0 = "EFFGZ";
|
|
var results = ["EFFGZ", "EFFGZ", undefined];
|
|
shouldBe("regex462.exec(input0);", "results");
|
|
var input1 = "IJ";
|
|
var results = ["IJ", "IJ", "J"];
|
|
shouldBe("regex462.exec(input1);", "results");
|
|
var input2 = "REFFGZ";
|
|
var results = ["EFFGZ", "EFFGZ", undefined];
|
|
shouldBe("regex462.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "ADCDCDE";
|
|
var results = null;
|
|
shouldBe("regex462.exec(input3);", "results");
|
|
var input4 = "EFFG";
|
|
var results = null;
|
|
shouldBe("regex462.exec(input4);", "results");
|
|
var input5 = "BCDD";
|
|
var results = null;
|
|
shouldBe("regex462.exec(input5);", "results");
|
|
|
|
var regex463 = /((((((((((a))))))))))/i;
|
|
var input0 = "A";
|
|
var results = ["A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A"];
|
|
shouldBe("regex463.exec(input0);", "results");
|
|
|
|
var regex464 = /((((((((((a))))))))))\10/i;
|
|
var input0 = "AA";
|
|
var results = ["AA", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A"];
|
|
shouldBe("regex464.exec(input0);", "results");
|
|
|
|
var regex465 = /(((((((((a)))))))))/i;
|
|
var input0 = "A";
|
|
var results = ["A", "A", "A", "A", "A", "A", "A", "A", "A", "A"];
|
|
shouldBe("regex465.exec(input0);", "results");
|
|
|
|
var regex466 = /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i;
|
|
var input0 = "A";
|
|
var results = ["A", "A"];
|
|
shouldBe("regex466.exec(input0);", "results");
|
|
|
|
var regex467 = /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i;
|
|
var input0 = "C";
|
|
var results = ["C", "C"];
|
|
shouldBe("regex467.exec(input0);", "results");
|
|
|
|
var regex468 = /multiple words of text/i;
|
|
// Failers
|
|
var input0 = "AA";
|
|
var results = null;
|
|
shouldBe("regex468.exec(input0);", "results");
|
|
var input1 = "UH-UH";
|
|
var results = null;
|
|
shouldBe("regex468.exec(input1);", "results");
|
|
|
|
var regex469 = /multiple words/i;
|
|
var input0 = "MULTIPLE WORDS, YEAH";
|
|
var results = ["MULTIPLE WORDS"];
|
|
shouldBe("regex469.exec(input0);", "results");
|
|
|
|
var regex470 = /(.*)c(.*)/i;
|
|
var input0 = "ABCDE";
|
|
var results = ["ABCDE", "AB", "DE"];
|
|
shouldBe("regex470.exec(input0);", "results");
|
|
|
|
var regex471 = /\((.*), (.*)\)/i;
|
|
var input0 = "(A, B)";
|
|
var results = ["(A, B)", "A", "B"];
|
|
shouldBe("regex471.exec(input0);", "results");
|
|
|
|
var regex472 = /abcd/i;
|
|
var input0 = "ABCD";
|
|
var results = ["ABCD"];
|
|
shouldBe("regex472.exec(input0);", "results");
|
|
|
|
var regex473 = /a(bc)d/i;
|
|
var input0 = "ABCD";
|
|
var results = ["ABCD", "BC"];
|
|
shouldBe("regex473.exec(input0);", "results");
|
|
|
|
var regex474 = /a[-]?c/i;
|
|
var input0 = "AC";
|
|
var results = ["AC"];
|
|
shouldBe("regex474.exec(input0);", "results");
|
|
|
|
var regex475 = /(abc)\1/i;
|
|
var input0 = "ABCABC";
|
|
var results = ["ABCABC", "ABC"];
|
|
shouldBe("regex475.exec(input0);", "results");
|
|
|
|
var regex476 = /([a-c]*)\1/i;
|
|
var input0 = "ABCABC";
|
|
var results = ["ABCABC", "ABC"];
|
|
shouldBe("regex476.exec(input0);", "results");
|
|
|
|
var regex477 = /a(?!b)./;
|
|
var input0 = "abad";
|
|
var results = ["ad"];
|
|
shouldBe("regex477.exec(input0);", "results");
|
|
|
|
var regex478 = /a(?=d)./;
|
|
var input0 = "abad";
|
|
var results = ["ad"];
|
|
shouldBe("regex478.exec(input0);", "results");
|
|
|
|
var regex479 = /a(?=c|d)./;
|
|
var input0 = "abad";
|
|
var results = ["ad"];
|
|
shouldBe("regex479.exec(input0);", "results");
|
|
|
|
var regex480 = /a(?:b|c|d)(.)/;
|
|
var input0 = "ace";
|
|
var results = ["ace", "e"];
|
|
shouldBe("regex480.exec(input0);", "results");
|
|
|
|
var regex481 = /a(?:b|c|d)*(.)/;
|
|
var input0 = "ace";
|
|
var results = ["ace", "e"];
|
|
shouldBe("regex481.exec(input0);", "results");
|
|
|
|
var regex482 = /a(?:b|c|d)+?(.)/;
|
|
var input0 = "ace";
|
|
var results = ["ace", "e"];
|
|
shouldBe("regex482.exec(input0);", "results");
|
|
var input1 = "acdbcdbe";
|
|
var results = ["acd", "d"];
|
|
shouldBe("regex482.exec(input1);", "results");
|
|
|
|
var regex483 = /a(?:b|c|d)+(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcdbe", "e"];
|
|
shouldBe("regex483.exec(input0);", "results");
|
|
|
|
var regex484 = /a(?:b|c|d){2}(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdb", "b"];
|
|
shouldBe("regex484.exec(input0);", "results");
|
|
|
|
var regex485 = /a(?:b|c|d){4,5}(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcdb", "b"];
|
|
shouldBe("regex485.exec(input0);", "results");
|
|
|
|
var regex486 = /a(?:b|c|d){4,5}?(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcd", "d"];
|
|
shouldBe("regex486.exec(input0);", "results");
|
|
|
|
var regex487 = /((foo)|(bar))*/;
|
|
var input0 = "foobar";
|
|
var results = ["foobar", "bar", undefined, "bar"];
|
|
shouldBe("regex487.exec(input0);", "results");
|
|
|
|
var regex488 = /a(?:b|c|d){6,7}(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcdbe", "e"];
|
|
shouldBe("regex488.exec(input0);", "results");
|
|
|
|
var regex489 = /a(?:b|c|d){6,7}?(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcdbe", "e"];
|
|
shouldBe("regex489.exec(input0);", "results");
|
|
|
|
var regex490 = /a(?:b|c|d){5,6}(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcdbe", "e"];
|
|
shouldBe("regex490.exec(input0);", "results");
|
|
|
|
var regex491 = /a(?:b|c|d){5,6}?(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcdb", "b"];
|
|
shouldBe("regex491.exec(input0);", "results");
|
|
|
|
var regex492 = /a(?:b|c|d){5,7}(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcdbe", "e"];
|
|
shouldBe("regex492.exec(input0);", "results");
|
|
|
|
var regex493 = /a(?:b|c|d){5,7}?(.)/;
|
|
var input0 = "acdbcdbe";
|
|
var results = ["acdbcdb", "b"];
|
|
shouldBe("regex493.exec(input0);", "results");
|
|
|
|
var regex494 = /a(?:b|(c|e){1,2}?|d)+?(.)/;
|
|
var input0 = "ace";
|
|
var results = ["ace", "c", "e"];
|
|
shouldBe("regex494.exec(input0);", "results");
|
|
|
|
var regex495 = /^(.+)?B/;
|
|
var input0 = "AB";
|
|
var results = ["AB", "A"];
|
|
shouldBe("regex495.exec(input0);", "results");
|
|
|
|
var regex496 = /^([^a-z])|(\^)$/;
|
|
var input0 = ".";
|
|
var results = [".", ".", undefined];
|
|
shouldBe("regex496.exec(input0);", "results");
|
|
|
|
var regex497 = /^[<>]&/;
|
|
var input0 = "<&OUT";
|
|
var results = ["<&"];
|
|
shouldBe("regex497.exec(input0);", "results");
|
|
|
|
var regex498 = /^(a\1?){4}$/;
|
|
var input0 = "aaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex498.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "AB";
|
|
var results = null;
|
|
shouldBe("regex498.exec(input1);", "results");
|
|
var input2 = "aaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex498.exec(input2);", "results");
|
|
var input3 = "aaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex498.exec(input3);", "results");
|
|
|
|
var regex499 = /^(a(?:\1)){4}$/;
|
|
var input0 = "aaaa";
|
|
var results = ["aaaa", "a"];
|
|
shouldBe("regex499.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "aaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex499.exec(input1);", "results");
|
|
var input2 = "aaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex499.exec(input2);", "results");
|
|
var input3 = "aaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex499.exec(input3);", "results");
|
|
|
|
var regex500 = /(?:(f)(o)(o)|(b)(a)(r))*/;
|
|
var input0 = "foobar";
|
|
var results = ["foobar", undefined, undefined, undefined, "b", "a", "r"];
|
|
shouldBe("regex500.exec(input0);", "results");
|
|
|
|
var regex503 = /(?:..)*a/;
|
|
var input0 = "aba";
|
|
var results = ["aba"];
|
|
shouldBe("regex503.exec(input0);", "results");
|
|
|
|
var regex504 = /(?:..)*?a/;
|
|
var input0 = "aba";
|
|
var results = ["a"];
|
|
shouldBe("regex504.exec(input0);", "results");
|
|
|
|
var regex505 = /^(?:b|a(?=(.)))*\1/;
|
|
var input0 = "abc";
|
|
var results = ["ab", undefined];
|
|
shouldBe("regex505.exec(input0);", "results");
|
|
|
|
var regex506 = /^(){3,5}/;
|
|
var input0 = "abc";
|
|
var results = ["", ""];
|
|
shouldBe("regex506.exec(input0);", "results");
|
|
|
|
var regex507 = /^(a+)*ax/;
|
|
var input0 = "aax";
|
|
var results = ["aax", "a"];
|
|
shouldBe("regex507.exec(input0);", "results");
|
|
|
|
var regex508 = /^((a|b)+)*ax/;
|
|
var input0 = "aax";
|
|
var results = ["aax", "a", "a"];
|
|
shouldBe("regex508.exec(input0);", "results");
|
|
|
|
var regex509 = /^((a|bc)+)*ax/;
|
|
var input0 = "aax";
|
|
var results = ["aax", "a", "a"];
|
|
shouldBe("regex509.exec(input0);", "results");
|
|
|
|
var regex510 = /(a|x)*ab/;
|
|
var input0 = "cab";
|
|
var results = ["ab", undefined];
|
|
shouldBe("regex510.exec(input0);", "results");
|
|
|
|
var regex511 = /(a)*ab/;
|
|
var input0 = "cab";
|
|
var results = ["ab", undefined];
|
|
shouldBe("regex511.exec(input0);", "results");
|
|
|
|
var regex512 = /(?:a)b/;
|
|
var input0 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex512.exec(input0);", "results");
|
|
|
|
var regex513 = /(a)b/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "a"];
|
|
shouldBe("regex513.exec(input0);", "results");
|
|
|
|
var regex514 = /(?:a)b/i;
|
|
var input0 = "Ab";
|
|
var results = ["Ab"];
|
|
shouldBe("regex514.exec(input0);", "results");
|
|
|
|
var regex515 = /(a)b/i;
|
|
var input0 = "Ab";
|
|
var results = ["Ab", "A"];
|
|
shouldBe("regex515.exec(input0);", "results");
|
|
|
|
var regex516 = /(?:[aA])b/;
|
|
// Failers
|
|
var input0 = "cb";
|
|
var results = null;
|
|
shouldBe("regex516.exec(input0);", "results");
|
|
var input1 = "aB";
|
|
var results = null;
|
|
shouldBe("regex516.exec(input1);", "results");
|
|
|
|
var regex517 = /(?:a)b/;
|
|
var input0 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex517.exec(input0);", "results");
|
|
|
|
var regex518 = /((?:a))b/;
|
|
var input0 = "ab";
|
|
var results = ["ab", "a"];
|
|
shouldBe("regex518.exec(input0);", "results");
|
|
|
|
var regex519 = /(?:a)b/i;
|
|
var input0 = "Ab";
|
|
var results = ["Ab"];
|
|
shouldBe("regex519.exec(input0);", "results");
|
|
|
|
var regex520 = /((?:a))b/i;
|
|
var input0 = "Ab";
|
|
var results = ["Ab", "A"];
|
|
shouldBe("regex520.exec(input0);", "results");
|
|
|
|
var regex521 = /(?:a)b/;
|
|
// Failers
|
|
var input0 = "aB";
|
|
var results = null;
|
|
shouldBe("regex521.exec(input0);", "results");
|
|
var input1 = "aB";
|
|
var results = null;
|
|
shouldBe("regex521.exec(input1);", "results");
|
|
|
|
var regex522 = /(?:a)b/i;
|
|
var input0 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex522.exec(input0);", "results");
|
|
|
|
var regex523 = /(a)b/i;
|
|
var input0 = "ab";
|
|
var results = ["ab", "a"];
|
|
shouldBe("regex523.exec(input0);", "results");
|
|
|
|
var regex524 = /(?:a)b/i;
|
|
var input0 = "aB";
|
|
var results = ["aB"];
|
|
shouldBe("regex524.exec(input0);", "results");
|
|
|
|
var regex525 = /(a)b/i;
|
|
var input0 = "aB";
|
|
var results = ["aB", "a"];
|
|
shouldBe("regex525.exec(input0);", "results");
|
|
|
|
var regex526 = /(?:a)[bB]/;
|
|
// Failers
|
|
var input0 = "aB";
|
|
var results = ["aB"];
|
|
shouldBe("regex526.exec(input0);", "results");
|
|
var input1 = "Ab";
|
|
var results = null;
|
|
shouldBe("regex526.exec(input1);", "results");
|
|
|
|
var regex527 = /(?:a)b/i;
|
|
var input0 = "aB";
|
|
var results = ["aB"];
|
|
shouldBe("regex527.exec(input0);", "results");
|
|
|
|
var regex528 = /(a)b/i;
|
|
var input0 = "aB";
|
|
var results = ["aB", "a"];
|
|
shouldBe("regex528.exec(input0);", "results");
|
|
|
|
var regex529 = /(?:a)[bB]/;
|
|
// Failers
|
|
var input0 = "Ab";
|
|
var results = null;
|
|
shouldBe("regex529.exec(input0);", "results");
|
|
var input1 = "AB";
|
|
var results = null;
|
|
shouldBe("regex529.exec(input1);", "results");
|
|
|
|
var regex530 = /(?:a)b/;
|
|
var input0 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex530.exec(input0);", "results");
|
|
|
|
var regex531 = /((?:a))b/i;
|
|
var input0 = "ab";
|
|
var results = ["ab", "a"];
|
|
shouldBe("regex531.exec(input0);", "results");
|
|
|
|
var regex532 = /(?:a)b/i;
|
|
var input0 = "aB";
|
|
var results = ["aB"];
|
|
shouldBe("regex532.exec(input0);", "results");
|
|
|
|
var regex533 = /((?:a))b/i;
|
|
var input0 = "aB";
|
|
var results = ["aB", "a"];
|
|
shouldBe("regex533.exec(input0);", "results");
|
|
|
|
var regex534 = /(?:a)[bB]/;
|
|
// Failers
|
|
var input0 = "AB";
|
|
var results = null;
|
|
shouldBe("regex534.exec(input0);", "results");
|
|
var input1 = "Ab";
|
|
var results = null;
|
|
shouldBe("regex534.exec(input1);", "results");
|
|
|
|
var regex535 = /(?:a)b/i;
|
|
var input0 = "aB";
|
|
var results = ["aB"];
|
|
shouldBe("regex535.exec(input0);", "results");
|
|
|
|
var regex536 = /((?:a))b/i;
|
|
var input0 = "aB";
|
|
var results = ["aB", "a"];
|
|
shouldBe("regex536.exec(input0);", "results");
|
|
|
|
var regex537 = /(?:a)[bB]/;
|
|
// Failers
|
|
var input0 = "Ab";
|
|
var results = null;
|
|
shouldBe("regex537.exec(input0);", "results");
|
|
var input1 = "AB";
|
|
var results = null;
|
|
shouldBe("regex537.exec(input1);", "results");
|
|
|
|
var regex538 = /((?:a.))b/i;
|
|
// Failers
|
|
var input0 = "AB";
|
|
var results = null;
|
|
shouldBe("regex538.exec(input0);", "results");
|
|
var input1 = "a\nB";
|
|
var results = null;
|
|
shouldBe("regex538.exec(input1);", "results");
|
|
|
|
var regex539 = /((?:a[\w\W]))b/i;
|
|
var input0 = "a\nB";
|
|
var results = ["a\x0aB", "a\x0a"];
|
|
shouldBe("regex539.exec(input0);", "results");
|
|
|
|
var regex540 = /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/;
|
|
var input0 = "cabbbb";
|
|
var results = ["cabbbb"];
|
|
shouldBe("regex540.exec(input0);", "results");
|
|
|
|
var regex541 = /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/;
|
|
var input0 = "caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";
|
|
var results = ["caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"];
|
|
shouldBe("regex541.exec(input0);", "results");
|
|
|
|
var regex542 = /(ab)\d\1/i;
|
|
var input0 = "Ab4ab";
|
|
var results = ["Ab4ab", "Ab"];
|
|
shouldBe("regex542.exec(input0);", "results");
|
|
var input1 = "ab4Ab";
|
|
var results = ["ab4Ab", "ab"];
|
|
shouldBe("regex542.exec(input1);", "results");
|
|
|
|
var regex543 = /foo\w*\d{4}baz/;
|
|
var input0 = "foobar1234baz";
|
|
var results = ["foobar1234baz"];
|
|
shouldBe("regex543.exec(input0);", "results");
|
|
|
|
var regex544 = /x(~~)*(?:(?:F)?)?/;
|
|
var input0 = "x~~";
|
|
var results = ["x~~", "~~"];
|
|
shouldBe("regex544.exec(input0);", "results");
|
|
|
|
var regex545 = /^a{3}c/;
|
|
var input0 = "aaac";
|
|
var results = ["aaac"];
|
|
shouldBe("regex545.exec(input0);", "results");
|
|
|
|
var regex550 = /^(?:a?b?)*$/;
|
|
var input0 = "";
|
|
var results = [""];
|
|
shouldBe("regex550.exec(input0);", "results");
|
|
var input1 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex550.exec(input1);", "results");
|
|
var input2 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex550.exec(input2);", "results");
|
|
var input3 = "aaa";
|
|
var results = ["aaa"];
|
|
shouldBe("regex550.exec(input3);", "results");
|
|
// Failers
|
|
var input4 = "dbcb";
|
|
var results = null;
|
|
shouldBe("regex550.exec(input4);", "results");
|
|
var input5 = "a--";
|
|
var results = null;
|
|
shouldBe("regex550.exec(input5);", "results");
|
|
var input6 = "aa--";
|
|
var results = null;
|
|
shouldBe("regex550.exec(input6);", "results");
|
|
|
|
var regex551 = /(^a([\w\W]))(^b$)/m;
|
|
var input0 = "a\nb\nc\n";
|
|
var results = ["a\x0ab", "a\x0a", "\x0a", "b"];
|
|
shouldBe("regex551.exec(input0);", "results");
|
|
|
|
var regex552 = /(^b$)/m;
|
|
var input0 = "a\nb\nc\n";
|
|
var results = ["b", "b"];
|
|
shouldBe("regex552.exec(input0);", "results");
|
|
|
|
var regex553 = /^b/m;
|
|
var input0 = "a\nb\n";
|
|
var results = ["b"];
|
|
shouldBe("regex553.exec(input0);", "results");
|
|
|
|
var regex554 = /^(b)/m;
|
|
var input0 = "a\nb\n";
|
|
var results = ["b", "b"];
|
|
shouldBe("regex554.exec(input0);", "results");
|
|
|
|
var regex555 = /(^b)/m;
|
|
var input0 = "a\nb\n";
|
|
var results = ["b", "b"];
|
|
shouldBe("regex555.exec(input0);", "results");
|
|
|
|
var regex556 = /\n(^b)/m;
|
|
var input0 = "a\nb\n";
|
|
var results = ["\x0ab", "b"];
|
|
shouldBe("regex556.exec(input0);", "results");
|
|
|
|
var regex557 = /([\w\W])c(?!.)/m;
|
|
var input0 = "a\nb\nc\n";
|
|
var results = ["\x0ac", "\x0a"];
|
|
shouldBe("regex557.exec(input0);", "results");
|
|
var input1 = "a\nb\nc\n";
|
|
var results = ["\x0ac", "\x0a"];
|
|
shouldBe("regex557.exec(input1);", "results");
|
|
|
|
var regex558 = /(b[\w\W])c(?!.)/m;
|
|
var input0 = "a\nb\nc\n";
|
|
var results = ["b\x0ac", "b\x0a"];
|
|
shouldBe("regex558.exec(input0);", "results");
|
|
var input1 = "a\nb\nc\n";
|
|
var results = ["b\x0ac", "b\x0a"];
|
|
shouldBe("regex558.exec(input1);", "results");
|
|
|
|
var regex559 = /()^b/;
|
|
// Failers
|
|
var input0 = "a\nb\nc\n";
|
|
var results = null;
|
|
shouldBe("regex559.exec(input0);", "results");
|
|
var input1 = "a\nb\nc\n";
|
|
var results = null;
|
|
shouldBe("regex559.exec(input1);", "results");
|
|
|
|
var regex560 = /(^b)/m;
|
|
var input0 = "a\nb\nc\n";
|
|
var results = ["b", "b"];
|
|
shouldBe("regex560.exec(input0);", "results");
|
|
|
|
var regex561 = /(?:b|a)/;
|
|
var input0 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex561.exec(input0);", "results");
|
|
|
|
var regex562 = /(x)?(?:a|b)/;
|
|
var input0 = "xa";
|
|
var results = ["xa", "x"];
|
|
shouldBe("regex562.exec(input0);", "results");
|
|
var input1 = "a";
|
|
var results = ["a", undefined];
|
|
shouldBe("regex562.exec(input1);", "results");
|
|
|
|
var regex563 = /(x)?(?:b|a)/;
|
|
var input0 = "a";
|
|
var results = ["a", undefined];
|
|
shouldBe("regex563.exec(input0);", "results");
|
|
|
|
var regex564 = /()?(?:b|a)/;
|
|
var input0 = "a";
|
|
var results = ["a", undefined];
|
|
shouldBe("regex564.exec(input0);", "results");
|
|
|
|
var regex565 = /()?(?:a|b)/;
|
|
var input0 = "a";
|
|
var results = ["a", undefined];
|
|
shouldBe("regex565.exec(input0);", "results");
|
|
|
|
var regex566 = /^(\()?blah(?:(\))?)$/;
|
|
var input0 = "(blah)";
|
|
var results = ["(blah)", "(", ")"];
|
|
shouldBe("regex566.exec(input0);", "results");
|
|
var input1 = "blah";
|
|
var results = ["blah", undefined, undefined];
|
|
shouldBe("regex566.exec(input1);", "results");
|
|
var input2 = "blah)";
|
|
var results = ["blah)", undefined, ")"];
|
|
shouldBe("regex566.exec(input2);", "results");
|
|
var input3 = "(blah";
|
|
var results = ["(blah", "(", undefined];
|
|
shouldBe("regex566.exec(input3);", "results");
|
|
// Failers
|
|
var input4 = "a";
|
|
var results = null;
|
|
shouldBe("regex566.exec(input4);", "results");
|
|
|
|
var regex567 = /^(\(+)?blah(?:(\))?)$/;
|
|
var input0 = "(blah)";
|
|
var results = ["(blah)", "(", ")"];
|
|
shouldBe("regex567.exec(input0);", "results");
|
|
var input1 = "blah";
|
|
var results = ["blah", undefined, undefined];
|
|
shouldBe("regex567.exec(input1);", "results");
|
|
var input2 = "blah)";
|
|
var results = ["blah)", undefined, ")"];
|
|
shouldBe("regex567.exec(input2);", "results");
|
|
var input3 = "(blah";
|
|
var results = ["(blah", "(", undefined];
|
|
shouldBe("regex567.exec(input3);", "results");
|
|
|
|
var regex568 = /((?!a)b|a)/;
|
|
var input0 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex568.exec(input0);", "results");
|
|
|
|
var regex569 = /((?=a)b|a)/;
|
|
var input0 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex569.exec(input0);", "results");
|
|
var input1 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex569.exec(input1);", "results");
|
|
|
|
var regex570 = /((?=a)a|b)/;
|
|
var input0 = "a";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex570.exec(input0);", "results");
|
|
|
|
var regex571 = /(?=(a+?))(\1ab)/;
|
|
var input0 = "aaab";
|
|
var results = ["aab", "a", "aab"];
|
|
shouldBe("regex571.exec(input0);", "results");
|
|
|
|
var regex572 = /(\w+:)+/;
|
|
var input0 = "one:";
|
|
var results = ["one:", "one:"];
|
|
shouldBe("regex572.exec(input0);", "results");
|
|
|
|
var regex574 = /(?=(a+?))(\1ab)/;
|
|
var input0 = "aaab";
|
|
var results = ["aab", "a", "aab"];
|
|
shouldBe("regex574.exec(input0);", "results");
|
|
|
|
var regex575 = /^(?=(a+?))\1ab/;
|
|
// Failers
|
|
var input0 = "aaab";
|
|
var results = null;
|
|
shouldBe("regex575.exec(input0);", "results");
|
|
var input1 = "aaab";
|
|
var results = null;
|
|
shouldBe("regex575.exec(input1);", "results");
|
|
|
|
var regex576 = /([\w:]+::)?(\w+)$/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", undefined, "abcd"];
|
|
shouldBe("regex576.exec(input0);", "results");
|
|
var input1 = "xy:z:::abcd";
|
|
var results = ["xy:z:::abcd", "xy:z:::", "abcd"];
|
|
shouldBe("regex576.exec(input1);", "results");
|
|
|
|
var regex577 = /^[^bcd]*(c+)/;
|
|
var input0 = "aexycd";
|
|
var results = ["aexyc", "c"];
|
|
shouldBe("regex577.exec(input0);", "results");
|
|
|
|
var regex578 = /(a*)b+/;
|
|
var input0 = "caab";
|
|
var results = ["aab", "aa"];
|
|
shouldBe("regex578.exec(input0);", "results");
|
|
|
|
var regex579 = /([\w:]+::)?(\w+)$/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", undefined, "abcd"];
|
|
shouldBe("regex579.exec(input0);", "results");
|
|
var input1 = "xy:z:::abcd";
|
|
var results = ["xy:z:::abcd", "xy:z:::", "abcd"];
|
|
shouldBe("regex579.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "abcd:";
|
|
var results = null;
|
|
shouldBe("regex579.exec(input2);", "results");
|
|
var input3 = "abcd:";
|
|
var results = null;
|
|
shouldBe("regex579.exec(input3);", "results");
|
|
|
|
var regex580 = /^[^bcd]*(c+)/;
|
|
var input0 = "aexycd";
|
|
var results = ["aexyc", "c"];
|
|
shouldBe("regex580.exec(input0);", "results");
|
|
|
|
var regex582 = /([[:]+)/;
|
|
var input0 = "a:[b]:";
|
|
var results = [":[", ":["];
|
|
shouldBe("regex582.exec(input0);", "results");
|
|
|
|
var regex583 = /([[=]+)/;
|
|
var input0 = "a=[b]=";
|
|
var results = ["=[", "=["];
|
|
shouldBe("regex583.exec(input0);", "results");
|
|
|
|
var regex584 = /([[.]+)/;
|
|
var input0 = "a.[b].";
|
|
var results = [".[", ".["];
|
|
shouldBe("regex584.exec(input0);", "results");
|
|
|
|
var regex588 = /a$/;
|
|
var input0 = "aaab";
|
|
var results = null;
|
|
shouldBe("regex588.exec(input0);", "results");
|
|
var input1 = "a\nb\n";
|
|
var results = null;
|
|
shouldBe("regex588.exec(input1);", "results");
|
|
|
|
var regex589 = /b$/;
|
|
var input0 = "a\nb";
|
|
var results = ["b"];
|
|
shouldBe("regex589.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "a\nb\n";
|
|
var results = null;
|
|
shouldBe("regex589.exec(input1);", "results");
|
|
|
|
var regex590 = /b$/m;
|
|
var input0 = "a\nb";
|
|
var results = ["b"];
|
|
shouldBe("regex590.exec(input0);", "results");
|
|
var input1 = "a\nb\n";
|
|
var results = ["b"];
|
|
shouldBe("regex590.exec(input1);", "results");
|
|
|
|
var regex600 = /<a[\s]+href[\s]*=[\s]*([\"\'])?(?:(.*?)\1|([^\s]+))/i;
|
|
var input0 = "<a href=abcd xyz";
|
|
var results = ["<a href=", undefined, "", undefined];
|
|
shouldBe("regex600.exec(input0);", "results");
|
|
var input1 = '<a href="abcd xyz pqr" cats';
|
|
var results = ['<a href="abcd xyz pqr"', '"', "abcd xyz pqr", undefined];
|
|
shouldBe("regex600.exec(input1);", "results");
|
|
var input2 = "<a href=\'abcd xyz pqr\' cats";
|
|
var results = ["<a href=\'abcd xyz pqr\'", "\'", "abcd xyz pqr", undefined];
|
|
shouldBe("regex600.exec(input2);", "results");
|
|
|
|
var regex601 = /<a\s+href\s*=\s*(["'])?(?:(.*?)\1|(\S+))/i;
|
|
var input0 = "<a href=abcd xyz";
|
|
var results = ["<a href=", undefined, "", undefined];
|
|
shouldBe("regex601.exec(input0);", "results");
|
|
var input1 = '<a href="abcd xyz pqr" cats';
|
|
var results = ['<a href="abcd xyz pqr"', '"', "abcd xyz pqr", undefined];
|
|
shouldBe("regex601.exec(input1);", "results");
|
|
var input2 = "<a href = \'abcd xyz pqr\' cats";
|
|
var results = ["<a href = \'abcd xyz pqr\'", "\'", "abcd xyz pqr", undefined];
|
|
shouldBe("regex601.exec(input2);", "results");
|
|
|
|
var regex603 = /((Z)+|A)*/;
|
|
var input0 = "ZABCDEFG";
|
|
var results = ["ZA", "A", undefined];
|
|
shouldBe("regex603.exec(input0);", "results");
|
|
|
|
var regex604 = /(Z()|A)*/;
|
|
var input0 = "ZABCDEFG";
|
|
var results = ["ZA", "A", undefined];
|
|
shouldBe("regex604.exec(input0);", "results");
|
|
|
|
var regex605 = /(Z(())|A)*/;
|
|
var input0 = "ZABCDEFG";
|
|
var results = ["ZA", "A", undefined, undefined];
|
|
shouldBe("regex605.exec(input0);", "results");
|
|
|
|
var regex608 = /^[a-\d]/;
|
|
var input0 = "abcde";
|
|
var results = ["a"];
|
|
shouldBe("regex608.exec(input0);", "results");
|
|
var input1 = "-things";
|
|
var results = ["-"];
|
|
shouldBe("regex608.exec(input1);", "results");
|
|
var input2 = "0digit";
|
|
var results = ["0"];
|
|
shouldBe("regex608.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "bcdef";
|
|
var results = null;
|
|
shouldBe("regex608.exec(input3);", "results");
|
|
|
|
var regex609 = /^[\d-a]/;
|
|
var input0 = "abcde";
|
|
var results = ["a"];
|
|
shouldBe("regex609.exec(input0);", "results");
|
|
var input1 = "-things";
|
|
var results = ["-"];
|
|
shouldBe("regex609.exec(input1);", "results");
|
|
var input2 = "0digit";
|
|
var results = ["0"];
|
|
shouldBe("regex609.exec(input2);", "results");
|
|
// Failers
|
|
var input3 = "bcdef";
|
|
var results = null;
|
|
shouldBe("regex609.exec(input3);", "results");
|
|
|
|
var regex610 = /[\s]+/;
|
|
var input0 = "> \x09\x0a\x0c\x0d\x0b<";
|
|
var results = [" \x09\x0a\x0c\x0d\x0b"];
|
|
shouldBe("regex610.exec(input0);", "results");
|
|
|
|
var regex611 = /[ ]+/;
|
|
var input0 = "> \x09\x0a\x0c\x0d\x0b<";
|
|
var results = [" "];
|
|
shouldBe("regex611.exec(input0);", "results");
|
|
|
|
var regex612 = /[\s]+/;
|
|
var input0 = "> \x09\x0a\x0b\x0c\x0d\x20\xA0\u2028\u2029\uFEFF<";
|
|
var results = [" \x09\x0a\x0b\x0c\x0d\x20\xA0\u2028\u2029\uFEFF"];
|
|
shouldBe("regex612.exec(input0);", "results");
|
|
|
|
var regex613 = /\s+/;
|
|
var input0 = "> \x09\x0a\x0b\x0c\x0d\x20\xA0\u2028\u2029\uFEFF<";
|
|
var results = [" \x09\x0a\x0b\x0c\x0d\x20\xA0\u2028\u2029\uFEFF"];
|
|
shouldBe("regex613.exec(input0);", "results");
|
|
|
|
var regex614 = /ab/;
|
|
var input0 = "ab";
|
|
var results = ["ab"];
|
|
shouldBe("regex614.exec(input0);", "results");
|
|
|
|
var regex616 = /(?!^)x/m;
|
|
var input0 = "a\nxb\n";
|
|
var results = null;
|
|
shouldBe("regex616.exec(input0);", "results");
|
|
|
|
var regex621 = /^abc/;
|
|
var input0 = "abc";
|
|
var results = ["abc"];
|
|
shouldBe("regex621.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "xyzabc";
|
|
var results = null;
|
|
shouldBe("regex621.exec(input1);", "results");
|
|
|
|
var regex622 = /a(?:bc)d/;
|
|
var input0 = "XabcdY";
|
|
var results = ["abcd"];
|
|
shouldBe("regex622.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "Xa b c d Y";
|
|
var results = null;
|
|
shouldBe("regex622.exec(input1);", "results");
|
|
|
|
var regex623 = /(xyz|abc)/;
|
|
var input0 = "XabcY";
|
|
var results = ["abc", "abc"];
|
|
shouldBe("regex623.exec(input0);", "results");
|
|
var input1 = "AxyzB";
|
|
var results = ["xyz", "xyz"];
|
|
shouldBe("regex623.exec(input1);", "results");
|
|
|
|
var regex624 = /ABC/i;
|
|
var input0 = "XabCY";
|
|
var results = ["abC"];
|
|
shouldBe("regex624.exec(input0);", "results");
|
|
|
|
var regex625 = /([aA][bB]C|D)E/;
|
|
var input0 = "abCE";
|
|
var results = ["abCE", "abC"];
|
|
shouldBe("regex625.exec(input0);", "results");
|
|
var input1 = "DE";
|
|
var results = ["DE", "D"];
|
|
shouldBe("regex625.exec(input1);", "results");
|
|
// Failers
|
|
var input2 = "abcE";
|
|
var results = null;
|
|
shouldBe("regex625.exec(input2);", "results");
|
|
var input3 = "abCe";
|
|
var results = null;
|
|
shouldBe("regex625.exec(input3);", "results");
|
|
var input4 = "dE";
|
|
var results = null;
|
|
shouldBe("regex625.exec(input4);", "results");
|
|
var input5 = "De";
|
|
var results = null;
|
|
shouldBe("regex625.exec(input5);", "results");
|
|
|
|
var regex626 = /(.*)\d+\1/;
|
|
var input0 = "abc123abc";
|
|
var results = ["abc123abc", "abc"];
|
|
shouldBe("regex626.exec(input0);", "results");
|
|
var input1 = "abc123bc";
|
|
var results = ["bc123bc", "bc"];
|
|
shouldBe("regex626.exec(input1);", "results");
|
|
|
|
var regex627 = /(.*)\d+\1/;
|
|
var input0 = "abc123abc";
|
|
var results = ["abc123abc", "abc"];
|
|
shouldBe("regex627.exec(input0);", "results");
|
|
var input1 = "abc123bc";
|
|
var results = ["bc123bc", "bc"];
|
|
shouldBe("regex627.exec(input1);", "results");
|
|
|
|
var regex628 = /((.*))\d+\1/;
|
|
var input0 = "abc123abc";
|
|
var results = ["abc123abc", "abc", "abc"];
|
|
shouldBe("regex628.exec(input0);", "results");
|
|
var input1 = "abc123bc";
|
|
var results = ["bc123bc", "bc", "bc"];
|
|
shouldBe("regex628.exec(input1);", "results");
|
|
|
|
var regex630 = /[\z\C]/;
|
|
var input0 = "z";
|
|
var results = ["z"];
|
|
shouldBe("regex630.exec(input0);", "results");
|
|
var input1 = "C";
|
|
var results = ["C"];
|
|
shouldBe("regex630.exec(input1);", "results");
|
|
|
|
var regex631 = /\M/;
|
|
var input0 = "M";
|
|
var results = ["M"];
|
|
shouldBe("regex631.exec(input0);", "results");
|
|
|
|
var regex632 = /(a+)*b/;
|
|
var input0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex632.exec(input0);", "results");
|
|
|
|
var regex633 = /reg(?:ul(?:[a\xc3\xa4]|ae)r|ex)/i;
|
|
var input0 = "REGular";
|
|
var results = ["REGular"];
|
|
shouldBe("regex633.exec(input0);", "results");
|
|
var input1 = "regulaer";
|
|
var results = ["regulaer"];
|
|
shouldBe("regex633.exec(input1);", "results");
|
|
var input2 = "Regex";
|
|
var results = ["Regex"];
|
|
shouldBe("regex633.exec(input2);", "results");
|
|
var input3 = "regul\xa4r";
|
|
var results = ["regul\xa4r"];
|
|
shouldBe("regex633.exec(input3);", "results");
|
|
// Failers
|
|
var input4 = "regul\xc3\xa4r";
|
|
var results = null;
|
|
shouldBe("regex633.exec(input4);", "results");
|
|
|
|
var regex634 = /\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4[\xc3\xa0-\xc3\xbf\xc3\x80-\xc3\x9f]+/;
|
|
var input0 = "\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4\xc3";
|
|
var results = ["\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4\xc3"];
|
|
shouldBe("regex634.exec(input0);", "results");
|
|
var input1 = "\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4\xc3\xbf";
|
|
var results = ["\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4\xc3\xbf"];
|
|
shouldBe("regex634.exec(input1);", "results");
|
|
var input2 = "\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4\xc3\x80";
|
|
var results = ["\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4\xc3\x80"];
|
|
shouldBe("regex634.exec(input2);", "results");
|
|
var input3 = "\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4\xc3\x9f";
|
|
var results = ["\xc3\x85\xc3\xa6\xc3\xa5\xc3\xa4\xc3\x9f"];
|
|
shouldBe("regex634.exec(input3);", "results");
|
|
|
|
var regex636 = /ab cd defg/;
|
|
var input0 = "ab cd defg";
|
|
var results = ["ab cd defg"];
|
|
shouldBe("regex636.exec(input0);", "results");
|
|
|
|
var regex637 = /ab cddefg/;
|
|
var input0 = "ab cddefg";
|
|
var results = ["ab cddefg"];
|
|
shouldBe("regex637.exec(input0);", "results");
|
|
// Failers
|
|
var input1 = "abcddefg";
|
|
var results = null;
|
|
shouldBe("regex637.exec(input1);", "results");
|
|
|
|
var regex641 = /(?:(?:a|b)(X))+/;
|
|
var input0 = "bXaX";
|
|
var results = ["bXaX", "X"];
|
|
shouldBe("regex641.exec(input0);", "results");
|
|
|
|
var regex642 = /(?:(?:\1a|b)(X|Y))+/;
|
|
var input0 = "bXXaYYaY";
|
|
var results = ["bX", "X"];
|
|
shouldBe("regex642.exec(input0);", "results");
|
|
var input1 = "bXYaXXaX";
|
|
var results = ["bX", "X"];
|
|
shouldBe("regex642.exec(input1);", "results");
|
|
|
|
var regex643 = /()()()()()()()()()(?:(\10a|b)(X|Y))+/;
|
|
var input0 = "bXXaYYaY";
|
|
var results = ["bX", "", "", "", "", "", "", "", "", "", "b", "X"];
|
|
shouldBe("regex643.exec(input0);", "results");
|
|
|
|
var regex644 = /[[,abc,]+]/;
|
|
var input0 = "abc]";
|
|
var results = ["abc]"];
|
|
shouldBe("regex644.exec(input0);", "results");
|
|
var input1 = "a,b]";
|
|
var results = ["a,b]"];
|
|
shouldBe("regex644.exec(input1);", "results");
|
|
var input2 = "[a,b,c]";
|
|
var results = ["[a,b,c]"];
|
|
shouldBe("regex644.exec(input2);", "results");
|
|
|
|
var regex645 = /a*b*\w/;
|
|
var input0 = "aaabbbb";
|
|
var results = ["aaabbbb"];
|
|
shouldBe("regex645.exec(input0);", "results");
|
|
var input1 = "aaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex645.exec(input1);", "results");
|
|
var input2 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex645.exec(input2);", "results");
|
|
|
|
var regex646 = /a*b?\w/;
|
|
var input0 = "aaabbbb";
|
|
var results = ["aaabb"];
|
|
shouldBe("regex646.exec(input0);", "results");
|
|
var input1 = "aaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex646.exec(input1);", "results");
|
|
var input2 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex646.exec(input2);", "results");
|
|
|
|
var regex647 = /a*b{0,4}\w/;
|
|
var input0 = "aaabbbb";
|
|
var results = ["aaabbbb"];
|
|
shouldBe("regex647.exec(input0);", "results");
|
|
var input1 = "aaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex647.exec(input1);", "results");
|
|
var input2 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex647.exec(input2);", "results");
|
|
|
|
var regex648 = /a*b{0,}\w/;
|
|
var input0 = "aaabbbb";
|
|
var results = ["aaabbbb"];
|
|
shouldBe("regex648.exec(input0);", "results");
|
|
var input1 = "aaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex648.exec(input1);", "results");
|
|
var input2 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex648.exec(input2);", "results");
|
|
|
|
var regex649 = /a*\d*\w/;
|
|
var input0 = "0a";
|
|
var results = ["0a"];
|
|
shouldBe("regex649.exec(input0);", "results");
|
|
var input1 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex649.exec(input1);", "results");
|
|
|
|
var regex650 = /^\w+=.*(\\\n.*)+/;
|
|
var input0 = "abc=xyz\\\npqr";
|
|
var results = ["abc=xyz\\\npqr", "\\\npqr"];
|
|
shouldBe("regex650.exec(input0);", "results");
|
|
|
|
var regex651 = /(?=(\w+))\1:/;
|
|
var input0 = "abcd:";
|
|
var results = ["abcd:", "abcd"];
|
|
shouldBe("regex651.exec(input0);", "results");
|
|
|
|
var regex652 = /^(?=(\w+))\1:/;
|
|
var input0 = "abcd:";
|
|
var results = ["abcd:", "abcd"];
|
|
shouldBe("regex652.exec(input0);", "results");
|
|
|
|
var regex660 = /^(a()*)*/;
|
|
var input0 = "aaaa";
|
|
var results = ["aaaa", "a", undefined];
|
|
shouldBe("regex660.exec(input0);", "results");
|
|
|
|
var regex661 = /^(?:a(?:(?:))*)*/;
|
|
var input0 = "aaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex661.exec(input0);", "results");
|
|
|
|
var regex662 = /^(a()+)+/;
|
|
var input0 = "aaaa";
|
|
var results = ["aaaa", "a", ""];
|
|
shouldBe("regex662.exec(input0);", "results");
|
|
|
|
var regex663 = /^(?:a(?:(?:))+)+/;
|
|
var input0 = "aaaa";
|
|
var results = ["aaaa"];
|
|
shouldBe("regex663.exec(input0);", "results");
|
|
|
|
var regex664 = /(a){0,3}(?:b|(c|))*D/;
|
|
var input0 = "abbD";
|
|
var results = ["abbD", "a", undefined];
|
|
shouldBe("regex664.exec(input0);", "results");
|
|
var input1 = "ccccD";
|
|
var results = ["ccccD", undefined, "c"];
|
|
shouldBe("regex664.exec(input1);", "results");
|
|
var input2 = "D";
|
|
var results = ["D", undefined, undefined];
|
|
shouldBe("regex664.exec(input2);", "results");
|
|
|
|
var regex665 = /(a|)*\d/;
|
|
var input0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex665.exec(input0);", "results");
|
|
var input1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4";
|
|
var results = ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4", "a"];
|
|
shouldBe("regex665.exec(input1);", "results");
|
|
|
|
var regex667 = /(?:a|)*\d/;
|
|
var input0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
|
|
var results = null;
|
|
shouldBe("regex667.exec(input0);", "results");
|
|
var input1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4";
|
|
var results = ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4"];
|
|
shouldBe("regex667.exec(input1);", "results");
|
|
|
|
var regex669 = /^(?![^\n]*\n$)/;
|
|
var input0 = "abc";
|
|
var results = [""];
|
|
shouldBe("regex669.exec(input0);", "results");
|
|
var input1 = "abc\n";
|
|
var results = null;
|
|
shouldBe("regex669.exec(input1);", "results");
|
|
|
|
var regex671 = /(.*(.)?)*/;
|
|
var input0 = "abcd";
|
|
var results = ["abcd", "abcd", undefined];
|
|
shouldBe("regex671.exec(input0);", "results");
|
|
|
|
var regex672 = /[[:abcd:xyz]]/;
|
|
var input0 = "a]";
|
|
var results = ["a]"];
|
|
shouldBe("regex672.exec(input0);", "results");
|
|
var input1 = ":]";
|
|
var results = [":]"];
|
|
shouldBe("regex672.exec(input1);", "results");
|
|
|
|
var regex673 = /[abc[:x\]pqr]/;
|
|
var input0 = "a";
|
|
var results = ["a"];
|
|
shouldBe("regex673.exec(input0);", "results");
|
|
var input1 = "[";
|
|
var results = ["["];
|
|
shouldBe("regex673.exec(input1);", "results");
|
|
var input2 = ":";
|
|
var results = [":"];
|
|
shouldBe("regex673.exec(input2);", "results");
|
|
var input3 = "]";
|
|
var results = ["]"];
|
|
shouldBe("regex673.exec(input3);", "results");
|
|
var input4 = "p";
|
|
var results = ["p"];
|
|
shouldBe("regex673.exec(input4);", "results");
|
|
|
|
var regex674 = /(a(b)*)*/;
|
|
var input0 = "aba";
|
|
var results = ["aba", "a", undefined];
|
|
shouldBe("regex674.exec(input0);", "results");
|
|
|
|
var regex675 = /(a*)*/;
|
|
var input0 = "ab";
|
|
var results = ["a", "a"];
|
|
shouldBe("regex675.exec(input0);", "results");
|
|
|
|
var regex676 = /([ab]*)*/;
|
|
var input0 = "abab";
|
|
var results = ["abab", "abab"];
|
|
shouldBe("regex676.exec(input0);", "results");
|
|
|
|
// Global matches.
|
|
|
|
var regexGlobal0 = RegExp("", "g");
|
|
var input0 = "abc";
|
|
var results = ["", "", "", ""];
|
|
shouldBe("input0.match(regexGlobal0);", "results");
|
|
|
|
var regexGlobal1 = /a*/g;
|
|
var input0 = "abbab";
|
|
var results = ["a", "", "", "a", "", ""];
|
|
shouldBe("input0.match(regexGlobal1);", "results");
|
|
|
|
var regexGlobal2 = /\babc./g;
|
|
var input0 = "abc:abc;xyzabc.";
|
|
var results = ["abc:", "abc;"];
|
|
shouldBe("input0.match(regexGlobal2);", "results");
|
|
|
|
var regexGlobal3 = /abc./g;
|
|
var input0 = "abc:abc;xyzabc.";
|
|
var results = ["abc:", "abc;", "abc."];
|
|
shouldBe("input0.match(regexGlobal3);", "results");
|
|
|
|
var regexGlobal4 = /$/g;
|
|
var input0 = "abc\n";
|
|
var results = [""];
|
|
shouldBe("input0.match(regexGlobal4);", "results");
|
|
|
|
var regexGlobal5 = /$/gm;
|
|
var input0 = "abc\n";
|
|
var results = ["", ""];
|
|
shouldBe("input0.match(regexGlobal5);", "results");
|
|
|
|
var regexGlobal6 = /^/g;
|
|
var input0 = "a\nb\nc\n";
|
|
var results = [""];
|
|
shouldBe("input0.match(regexGlobal6);", "results");
|
|
var input1 = "\\";
|
|
var results = [""];
|
|
shouldBe("input1.match(regexGlobal6);", "results");
|
|
|
|
var regexGlobal7 = /^/gm;
|
|
var input0 = "a\nb\nc\n";
|
|
var results = ["", "", "", ""];
|
|
shouldBe("input0.match(regexGlobal7);", "results");
|
|
var input1 = "\\";
|
|
var results = [""];
|
|
shouldBe("input1.match(regexGlobal7);", "results");
|
|
|
|
var regexGlobal8 = /^(?=C)/g;
|
|
// Failers
|
|
var input0 = "A\nC\nC\nE\n";
|
|
var results = null;
|
|
shouldBe("input0.match(regexGlobal8);", "results");
|
|
|
|
var regexGlobal9 = /^(?=C)/gm;
|
|
var input0 = "A\nC\nC\nE\n";
|
|
var results = ["", ""];
|
|
shouldBe("input0.match(regexGlobal9);", "results");
|
|
|
|
// DISABLED:
|
|
// These tests use (?<) or (?>) constructs. These are not currently valid in ECMAScript,
|
|
// but these tests may be useful if similar constructs are introduced in the future.
|
|
|
|
//var regex217 = /(?<!bar)foo/;
|
|
//var input0 = "foo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex217.exec(input0);', 'results');
|
|
//var input1 = "catfood";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex217.exec(input1);', 'results');
|
|
//var input2 = "arfootle";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex217.exec(input2);', 'results');
|
|
//var input3 = "rfoosh";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex217.exec(input3);', 'results');
|
|
//// Failers
|
|
//var input4 = "barfoo";
|
|
//var results = null;
|
|
//shouldBe('regex217.exec(input4);', 'results');
|
|
//var input5 = "towbarfoo";
|
|
//var results = null;
|
|
//shouldBe('regex217.exec(input5);', 'results');
|
|
//
|
|
//var regex218 = /\w{3}(?<!bar)foo/;
|
|
//var input0 = "catfood";
|
|
//var results = ["catfoo"];
|
|
//shouldBe('regex218.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "foo";
|
|
//var results = null;
|
|
//shouldBe('regex218.exec(input1);', 'results');
|
|
//var input2 = "barfoo";
|
|
//var results = null;
|
|
//shouldBe('regex218.exec(input2);', 'results');
|
|
//var input3 = "towbarfoo";
|
|
//var results = null;
|
|
//shouldBe('regex218.exec(input3);', 'results');
|
|
//
|
|
//var regex219 = /(?<=(foo)a)bar/;
|
|
//var input0 = "fooabar";
|
|
//var results = ["bar", "foo"];
|
|
//shouldBe('regex219.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "bar";
|
|
//var results = null;
|
|
//shouldBe('regex219.exec(input1);', 'results');
|
|
//var input2 = "foobbar";
|
|
//var results = null;
|
|
//shouldBe('regex219.exec(input2);', 'results');
|
|
//
|
|
//var regex221 = /(?>.*\/)foo/;
|
|
//var input0 = "/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/";
|
|
//var results = null;
|
|
//shouldBe('regex221.exec(input0);', 'results');
|
|
//
|
|
//var regex222 = /(?>.*\/)foo/;
|
|
//var input0 = "/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo";
|
|
//var results = ["/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo"];
|
|
//shouldBe('regex222.exec(input0);', 'results');
|
|
//
|
|
//var regex223 = /(?>(\.\d\d[1-9]?))\d+/;
|
|
//var input0 = "1.230003938";
|
|
//var results = [".230003938", ".23"];
|
|
//shouldBe('regex223.exec(input0);', 'results');
|
|
//var input1 = "1.875000282";
|
|
//var results = [".875000282", ".875"];
|
|
//shouldBe('regex223.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "1.235";
|
|
//var results = null;
|
|
//shouldBe('regex223.exec(input2);', 'results');
|
|
//
|
|
//var regex224 = /^((?>\w+)|(?>\s+))*$/;
|
|
//var input0 = "now is the time for all good men to come to the aid of the party";
|
|
//var results = ["now is the time for all good men to come to the aid of the party", "party"];
|
|
//shouldBe('regex224.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "this is not a line with only words and spaces!";
|
|
//var results = null;
|
|
//shouldBe('regex224.exec(input1);', 'results');
|
|
//
|
|
//var regex226 = /((?>\d+))(\w)/;
|
|
//var input0 = "12345a";
|
|
//var results = ["12345a", "12345", "a"];
|
|
//shouldBe('regex226.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "12345+";
|
|
//var results = null;
|
|
//shouldBe('regex226.exec(input1);', 'results');
|
|
//
|
|
//var regex227 = /(?>a+)b/;
|
|
//var input0 = "aaab";
|
|
//var results = ["aaab"];
|
|
//shouldBe('regex227.exec(input0);', 'results');
|
|
//
|
|
//var regex228 = /((?>a+)b)/;
|
|
//var input0 = "aaab";
|
|
//var results = ["aaab", "aaab"];
|
|
//shouldBe('regex228.exec(input0);', 'results');
|
|
//
|
|
//var regex229 = /(?>(a+))b/;
|
|
//var input0 = "aaab";
|
|
//var results = ["aaab", "aaa"];
|
|
//shouldBe('regex229.exec(input0);', 'results');
|
|
//
|
|
//var regex230 = /(?>b)+/;
|
|
//var input0 = "aaabbbccc";
|
|
//var results = ["bbb"];
|
|
//shouldBe('regex230.exec(input0);', 'results');
|
|
//
|
|
//var regex231 = /(?>a+|b+|c+)*c/;
|
|
//var input0 = "aaabbbbccccd";
|
|
//var results = ["aaabbbbc"];
|
|
//shouldBe('regex231.exec(input0);', 'results');
|
|
//
|
|
//var regex232 = /((?>[^()]+)|\([^()]*\))+/;
|
|
//var input0 = "((abc(ade)ufh()()x";
|
|
//var results = ["abc(ade)ufh()()x", "x"];
|
|
//shouldBe('regex232.exec(input0);', 'results');
|
|
//
|
|
//var regex233 = /\(((?>[^()]+)|\([^()]+\))+\)/ ;
|
|
//var input0 = "(abc)";
|
|
//var results = ["(abc)", "abc"];
|
|
//shouldBe('regex233.exec(input0);', 'results');
|
|
//var input1 = "(abc(def)xyz)";
|
|
//var results = ["(abc(def)xyz)", "xyz"];
|
|
//shouldBe('regex233.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
|
|
//var results = null;
|
|
//shouldBe('regex233.exec(input2);', 'results');
|
|
//
|
|
//var regex245 = /(?<=ab)(\w\w)c/;
|
|
//var input0 = "abxxc";
|
|
//var results = ["xxc", "xx"];
|
|
//shouldBe('regex245.exec(input0);', 'results');
|
|
//var input1 = "aBxxc";
|
|
//var results = ["xxc", "xx"];
|
|
//shouldBe('regex245.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "Abxxc";
|
|
//var results = null;
|
|
//shouldBe('regex245.exec(input2);', 'results');
|
|
//var input3 = "ABxxc";
|
|
//var results = null;
|
|
//shouldBe('regex245.exec(input3);', 'results');
|
|
//var input4 = "abxxC";
|
|
//var results = null;
|
|
//shouldBe('regex245.exec(input4);', 'results');
|
|
//
|
|
//var regex250 = /(?(?<=foo)bar|cat)/;
|
|
//var input0 = "foobar";
|
|
//var results = ["bar"];
|
|
//shouldBe('regex250.exec(input0);', 'results');
|
|
//var input1 = "cat";
|
|
//var results = ["cat"];
|
|
//shouldBe('regex250.exec(input1);', 'results');
|
|
//var input2 = "fcat";
|
|
//var results = ["cat"];
|
|
//shouldBe('regex250.exec(input2);', 'results');
|
|
//var input3 = "focat";
|
|
//var results = ["cat"];
|
|
//shouldBe('regex250.exec(input3);', 'results');
|
|
//// Failers
|
|
//var input4 = "foocat";
|
|
//var results = null;
|
|
//shouldBe('regex250.exec(input4);', 'results');
|
|
//
|
|
//var regex251 = /(?(?<!foo)cat|bar)/;
|
|
//var input0 = "foobar";
|
|
//var results = ["bar"];
|
|
//shouldBe('regex251.exec(input0);', 'results');
|
|
//var input1 = "cat";
|
|
//var results = ["cat"];
|
|
//shouldBe('regex251.exec(input1);', 'results');
|
|
//var input2 = "fcat";
|
|
//var results = ["cat"];
|
|
//shouldBe('regex251.exec(input2);', 'results');
|
|
//var input3 = "focat";
|
|
//var results = ["cat"];
|
|
//shouldBe('regex251.exec(input3);', 'results');
|
|
//// Failers
|
|
//var input4 = "foocat";
|
|
//var results = null;
|
|
//shouldBe('regex251.exec(input4);', 'results');
|
|
//
|
|
//var regex256 = /(?>a*)*/;
|
|
//var input0 = "a";
|
|
//var results = ["a"];
|
|
//shouldBe('regex256.exec(input0);', 'results');
|
|
//var input1 = "aa";
|
|
//var results = ["aa"];
|
|
//shouldBe('regex256.exec(input1);', 'results');
|
|
//var input2 = "aaaa";
|
|
//var results = ["aaaa"];
|
|
//shouldBe('regex256.exec(input2);', 'results');
|
|
//
|
|
//var regex266 = /(?>a*)*/;
|
|
//var input0 = "a";
|
|
//var results = ["a"];
|
|
//shouldBe('regex266.exec(input0);', 'results');
|
|
//var input1 = "aaabcde";
|
|
//var results = ["aaa"];
|
|
//shouldBe('regex266.exec(input1);', 'results');
|
|
//
|
|
//var regex267 = /((?>a*))*/;
|
|
//var input0 = "aaaaa";
|
|
//var results = ["aaaaa", ""];
|
|
//shouldBe('regex267.exec(input0);', 'results');
|
|
//var input1 = "aabbaa";
|
|
//var results = ["aa", ""];
|
|
//shouldBe('regex267.exec(input1);', 'results');
|
|
//
|
|
//var regex268 = /((?>a*?))*/;
|
|
//var input0 = "aaaaa";
|
|
//var results = ["", ""];
|
|
//shouldBe('regex268.exec(input0);', 'results');
|
|
//var input1 = "aabbaa";
|
|
//var results = ["", ""];
|
|
//shouldBe('regex268.exec(input1);', 'results');
|
|
//
|
|
//var regex270 = /(?<=(foo))bar\1/;
|
|
//var input0 = "foobarfoo";
|
|
//var results = ["barfoo", "foo"];
|
|
//shouldBe('regex270.exec(input0);', 'results');
|
|
//var input1 = "foobarfootling";
|
|
//var results = ["barfoo", "foo"];
|
|
//shouldBe('regex270.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "foobar";
|
|
//var results = null;
|
|
//shouldBe('regex270.exec(input2);', 'results');
|
|
//var input3 = "barfoo";
|
|
//var results = null;
|
|
//shouldBe('regex270.exec(input3);', 'results');
|
|
//
|
|
//var regex275 = /(?<=foo\n)^bar/m;
|
|
//var input0 = "foo\nbar";
|
|
//var results = ["bar"];
|
|
//shouldBe('regex275.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "bar";
|
|
//var results = null;
|
|
//shouldBe('regex275.exec(input1);', 'results');
|
|
//var input2 = "baz\nbar";
|
|
//var results = null;
|
|
//shouldBe('regex275.exec(input2);', 'results');
|
|
//
|
|
//var regex276 = /(?<=(?<!foo)bar)baz/;
|
|
//var input0 = "barbaz";
|
|
//var results = ["baz"];
|
|
//shouldBe('regex276.exec(input0);', 'results');
|
|
//var input1 = "barbarbaz";
|
|
//var results = ["baz"];
|
|
//shouldBe('regex276.exec(input1);', 'results');
|
|
//var input2 = "koobarbaz";
|
|
//var results = ["baz"];
|
|
//shouldBe('regex276.exec(input2);', 'results');
|
|
//// Failers
|
|
//var input3 = "baz";
|
|
//var results = null;
|
|
//shouldBe('regex276.exec(input3);', 'results');
|
|
//var input4 = "foobarbaz";
|
|
//var results = null;
|
|
//shouldBe('regex276.exec(input4);', 'results');
|
|
//
|
|
//var regex501 = /(?<=a)b/;
|
|
//var input0 = "ab";
|
|
//var results = ["b"];
|
|
//shouldBe('regex501.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "cb";
|
|
//var results = null;
|
|
//shouldBe('regex501.exec(input1);', 'results');
|
|
//var input2 = "b";
|
|
//var results = null;
|
|
//shouldBe('regex501.exec(input2);', 'results');
|
|
//
|
|
//var regex502 = /(?<!c)b/;
|
|
//var input0 = "ab";
|
|
//var results = ["b"];
|
|
//shouldBe('regex502.exec(input0);', 'results');
|
|
//var input1 = "b";
|
|
//var results = ["b"];
|
|
//shouldBe('regex502.exec(input1);', 'results');
|
|
//var input2 = "b";
|
|
//var results = ["b"];
|
|
//shouldBe('regex502.exec(input2);', 'results');
|
|
//
|
|
//var regex546 = /(?<![cd])b/;
|
|
//// Failers
|
|
//var input0 = "B\nB";
|
|
//var results = null;
|
|
//shouldBe('regex546.exec(input0);', 'results');
|
|
//var input1 = "dbcb";
|
|
//var results = null;
|
|
//shouldBe('regex546.exec(input1);', 'results');
|
|
//
|
|
//var regex547 = /(?<![cd])[ab]/;
|
|
//var input0 = "dbaacb";
|
|
//var results = ["a"];
|
|
//shouldBe('regex547.exec(input0);', 'results');
|
|
//
|
|
//var regex548 = /(?<!(c|d))[ab]/;
|
|
//var input0 = "dbaacb";
|
|
//var results = ["a"];
|
|
//shouldBe('regex548.exec(input0);', 'results');
|
|
//
|
|
//var regex549 = /(?<!cd)[ab]/;
|
|
//var input0 = "cdaccb";
|
|
//var results = ["b"];
|
|
//shouldBe('regex549.exec(input0);', 'results');
|
|
//
|
|
//var regex573 = /$(?<=^(a))/;
|
|
//var input0 = "a";
|
|
//var results = ["", "a"];
|
|
//shouldBe('regex573.exec(input0);', 'results');
|
|
//
|
|
//var regex581 = /(?>a+)b/;
|
|
//var input0 = "aaab";
|
|
//var results = ["aaab"];
|
|
//shouldBe('regex581.exec(input0);', 'results');
|
|
//
|
|
//var regex585 = /((?>a+)b)/;
|
|
//var input0 = "aaab";
|
|
//var results = ["aaab", "aaab"];
|
|
//shouldBe('regex585.exec(input0);', 'results');
|
|
//
|
|
//var regex586 = /(?>(a+))b/;
|
|
//var input0 = "aaab";
|
|
//var results = ["aaab", "aaa"];
|
|
//shouldBe('regex586.exec(input0);', 'results');
|
|
//
|
|
//var regex587 = /((?>[^()]+)|\([^()]*\))+/;
|
|
//var input0 = "((abc(ade)ufh()()x";
|
|
//var results = ["abc(ade)ufh()()x", "x"];
|
|
//shouldBe('regex587.exec(input0);', 'results');
|
|
//
|
|
//var regex592 = /^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/;
|
|
//var input0 = "a";
|
|
//var results = ["a", ""];
|
|
//shouldBe('regex592.exec(input0);', 'results');
|
|
//var input1 = "abc";
|
|
//var results = ["abc", ""];
|
|
//shouldBe('regex592.exec(input1);', 'results');
|
|
//var input2 = "a-b";
|
|
//var results = ["a-b", ""];
|
|
//shouldBe('regex592.exec(input2);', 'results');
|
|
//var input3 = "0-9";
|
|
//var results = ["0-9", ""];
|
|
//shouldBe('regex592.exec(input3);', 'results');
|
|
//var input4 = "a.b";
|
|
//var results = ["a.b", ""];
|
|
//shouldBe('regex592.exec(input4);', 'results');
|
|
//var input5 = "5.6.7";
|
|
//var results = ["5.6.7", ""];
|
|
//shouldBe('regex592.exec(input5);', 'results');
|
|
//var input6 = "the.quick.brown.fox";
|
|
//var results = ["the.quick.brown.fox", ""];
|
|
//shouldBe('regex592.exec(input6);', 'results');
|
|
//var input7 = "a100.b200.300c";
|
|
//var results = ["a100.b200.300c", ""];
|
|
//shouldBe('regex592.exec(input7);', 'results');
|
|
//var input8 = "12-ab.1245";
|
|
//var results = ["12-ab.1245", ""];
|
|
//shouldBe('regex592.exec(input8);', 'results');
|
|
//// Failers
|
|
//var input9 = "\";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input9);', 'results');
|
|
//var input10 = ".a";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input10);', 'results');
|
|
//var input11 = "-a";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input11);', 'results');
|
|
//var input12 = "a-";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input12);', 'results');
|
|
//var input13 = "a.";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input13);', 'results');
|
|
//var input14 = "a_b";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input14);', 'results');
|
|
//var input15 = "a.-";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input15);', 'results');
|
|
//var input16 = "a..";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input16);', 'results');
|
|
//var input17 = "ab..bc";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input17);', 'results');
|
|
//var input18 = "the.quick.brown.fox-";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input18);', 'results');
|
|
//var input19 = "the.quick.brown.fox.";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input19);', 'results');
|
|
//var input20 = "the.quick.brown.fox_";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input20);', 'results');
|
|
//var input21 = "the.quick.brown.fox+";
|
|
//var results = null;
|
|
//shouldBe('regex592.exec(input21);', 'results');
|
|
//
|
|
//var regex593 = /(?>.*)(?<=(abcd|wxyz))/;
|
|
//var input0 = "alphabetabcd";
|
|
//var results = ["alphabetabcd", "abcd"];
|
|
//shouldBe('regex593.exec(input0);', 'results');
|
|
//var input1 = "endingwxyz";
|
|
//var results = ["endingwxyz", "wxyz"];
|
|
//shouldBe('regex593.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "a rather long string that doesn't end with one of them";
|
|
//var results = null;
|
|
//shouldBe('regex593.exec(input2);', 'results');
|
|
//
|
|
//var regex594 = /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/;
|
|
//var input0 = "word cat dog elephant mussel cow horse canary baboon snake shark otherword";
|
|
//var results = ["word cat dog elephant mussel cow horse canary baboon snake shark otherword"];
|
|
//shouldBe('regex594.exec(input0);', 'results');
|
|
//var input1 = "word cat dog elephant mussel cow horse canary baboon snake shark";
|
|
//var results = null;
|
|
//shouldBe('regex594.exec(input1);', 'results');
|
|
//
|
|
//var regex595 = /word (?>[a-zA-Z0-9]+ ){0,30}otherword/;
|
|
//var input0 = "word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope";
|
|
//var results = null;
|
|
//shouldBe('regex595.exec(input0);', 'results');
|
|
//
|
|
//var regex596 = /(?<=\d{3}(?!999))foo/;
|
|
//var input0 = "999foo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex596.exec(input0);', 'results');
|
|
//var input1 = "123999foo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex596.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "123abcfoo";
|
|
//var results = null;
|
|
//shouldBe('regex596.exec(input2);', 'results');
|
|
//
|
|
//var regex597 = /(?<=(?!...999)\d{3})foo/;
|
|
//var input0 = "999foo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex597.exec(input0);', 'results');
|
|
//var input1 = "123999foo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex597.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "123abcfoo";
|
|
//var results = null;
|
|
//shouldBe('regex597.exec(input2);', 'results');
|
|
//
|
|
//var regex598 = /(?<=\d{3}(?!999)...)foo/;
|
|
//var input0 = "123abcfoo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex598.exec(input0);', 'results');
|
|
//var input1 = "123456foo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex598.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "123999foo";
|
|
//var results = null;
|
|
//shouldBe('regex598.exec(input2);', 'results');
|
|
//
|
|
//var regex599 = /(?<=\d{3}...)(?<!999)foo/;
|
|
//var input0 = "123abcfoo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex599.exec(input0);', 'results');
|
|
//var input1 = "123456foo";
|
|
//var results = ["foo"];
|
|
//shouldBe('regex599.exec(input1);', 'results');
|
|
//// Failers
|
|
//var input2 = "123999foo";
|
|
//var results = null;
|
|
//shouldBe('regex599.exec(input2);', 'results');
|
|
//
|
|
//var regex602 = /<a\s+href(?>\s*)=(?>\s*)(["'])?(?(1) (.*?)\1 | (\S+))/i;
|
|
//var input0 = "<a href=abcd xyz";
|
|
//var results = ["<a href=abcd", undefined, undefined, "abcd"];
|
|
//shouldBe('regex602.exec(input0);', 'results');
|
|
//var input1 = "<a href=\"abcd xyz pqr\" cats";
|
|
//var results = ["<a href=\"abcd xyz pqr\"", "\"", "abcd xyz pqr"];
|
|
//shouldBe('regex602.exec(input1);', 'results');
|
|
//var input2 = "<a href = \'abcd xyz pqr\' cats";
|
|
//var results = ["<a href = \'abcd xyz pqr\'", "\'", "abcd xyz pqr"];
|
|
//shouldBe('regex602.exec(input2);', 'results');
|
|
//
|
|
//var regex606 = /((?>Z)+|A)*/;
|
|
//var input0 = "ZABCDEFG";
|
|
//var results = ["ZA", "A"];
|
|
//shouldBe('regex606.exec(input0);', 'results');
|
|
//
|
|
//var regex607 = /((?>)+|A)*/;
|
|
//var input0 = "ZABCDEFG";
|
|
//var results = ["", ""];
|
|
//shouldBe('regex607.exec(input0);', 'results');
|
|
//
|
|
//var regex635 = /(?<=Z)X./;
|
|
//var input0 = "\x84XAZXB";
|
|
//var results = ["XB"];
|
|
//shouldBe('regex635.exec(input0);', 'results');
|
|
//
|
|
//var regex638 = /(?<![^f]oo)(bar)/;
|
|
//var input0 = "foobarX";
|
|
//var results = ["bar", "bar"];
|
|
//shouldBe('regex638.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "boobarX";
|
|
//var results = null;
|
|
//shouldBe('regex638.exec(input1);', 'results');
|
|
//
|
|
//var regex639 = /(?<![^f])X/;
|
|
//var input0 = "offX";
|
|
//var results = ["X"];
|
|
//shouldBe('regex639.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "onyX";
|
|
//var results = null;
|
|
//shouldBe('regex639.exec(input1);', 'results');
|
|
//
|
|
//var regex640 = /(?<=[^f])X/;
|
|
//var input0 = "onyX";
|
|
//var results = ["X"];
|
|
//shouldBe('regex640.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "offX";
|
|
//var results = null;
|
|
//shouldBe('regex640.exec(input1);', 'results');
|
|
//
|
|
//var regex666 = /(?>a|)*\d/;
|
|
//var input0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
|
|
//var results = null;
|
|
//shouldBe('regex666.exec(input0);', 'results');
|
|
//var input1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4";
|
|
//var results = ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4"];
|
|
//shouldBe('regex666.exec(input1);', 'results');
|
|
//
|
|
//var regex668 = /^(?>.*)(?<!\n)/;
|
|
//var input0 = "abc";
|
|
//var results = ["abc"];
|
|
//shouldBe('regex668.exec(input0);', 'results');
|
|
//var input1 = "abc\n";
|
|
//var results = null;
|
|
//shouldBe('regex668.exec(input1);', 'results');
|
|
//
|
|
//var regex670 = /\z(?<!\n)/;
|
|
//var input0 = "abc";
|
|
//var results = [""];
|
|
//shouldBe('regex670.exec(input0);', 'results');
|
|
//var input1 = "abc\n";
|
|
//var results = null;
|
|
//shouldBe('regex670.exec(input1);', 'results');
|
|
|
|
// DISABLED:
|
|
// These tests use \Q and \E tokens. These are not currently valid in ECMAScript,
|
|
// but these tests may be useful if similar constructs are introduced in the future.
|
|
|
|
//var regex617 = /abc\Qabc\Eabc/;
|
|
//var input0 = "abcabcabc";
|
|
//var results = ["abcabcabc"];
|
|
//shouldBe('regex617.exec(input0);', 'results');
|
|
//
|
|
//var regex618 = /abc\Q(*+|\Eabc/;
|
|
//var input0 = "abc(*+|abc";
|
|
//var results = ["abc(*+|abc"];
|
|
//shouldBe('regex618.exec(input0);', 'results');
|
|
//
|
|
//var regex619 = /\Qabc\$xyz\E/;
|
|
//var input0 = "abc\\\$xyz";
|
|
//var results = ["abc\\$xyz"];
|
|
//shouldBe('regex619.exec(input0);', 'results');
|
|
//
|
|
//var regex620 = /\Qabc\E\$\Qxyz\E/;
|
|
//var input0 = "abc\$xyz";
|
|
//var results = ["abc$xyz"];
|
|
//shouldBe('regex620.exec(input0);', 'results');
|
|
//
|
|
//var regex629 = /[z\Qa-d]\E]/;
|
|
//var input0 = "z";
|
|
//var results = ["z"];
|
|
//shouldBe('regex629.exec(input0);', 'results');
|
|
//var input1 = "a";
|
|
//var results = ["a"];
|
|
//shouldBe('regex629.exec(input1);', 'results');
|
|
//var input2 = "-";
|
|
//var results = ["-"];
|
|
//shouldBe('regex629.exec(input2);', 'results');
|
|
//var input3 = "d";
|
|
//var results = ["d"];
|
|
//shouldBe('regex629.exec(input3);', 'results');
|
|
//var input4 = "]";
|
|
//var results = ["]"];
|
|
//shouldBe('regex629.exec(input4);', 'results');
|
|
//// Failers
|
|
//var input5 = "b";
|
|
//var results = null;
|
|
//shouldBe('regex629.exec(input5);', 'results');
|
|
//
|
|
//var regex653 = /^\Eabc/;
|
|
//var input0 = "abc";
|
|
//var results = ["abc"];
|
|
//shouldBe('regex653.exec(input0);', 'results');
|
|
//
|
|
//var regex654 = /^[\Eabc]/;
|
|
//var input0 = "a";
|
|
//var results = ["a"];
|
|
//shouldBe('regex654.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "E";
|
|
//var results = null;
|
|
//shouldBe('regex654.exec(input1);', 'results');
|
|
//
|
|
//var regex655 = /^[a-\Ec]/;
|
|
//var input0 = "b";
|
|
//var results = ["b"];
|
|
//shouldBe('regex655.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "-";
|
|
//var results = null;
|
|
//shouldBe('regex655.exec(input1);', 'results');
|
|
//var input2 = "E";
|
|
//var results = null;
|
|
//shouldBe('regex655.exec(input2);', 'results');
|
|
//
|
|
//var regex656 = /^[a\E\E-\Ec]/;
|
|
//var input0 = "b";
|
|
//var results = ["b"];
|
|
//shouldBe('regex656.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "-";
|
|
//var results = null;
|
|
//shouldBe('regex656.exec(input1);', 'results');
|
|
//var input2 = "E";
|
|
//var results = null;
|
|
//shouldBe('regex656.exec(input2);', 'results');
|
|
//
|
|
//var regex657 = /^[\E\Qa\E-\Qz\E]+/;
|
|
//var input0 = "b";
|
|
//var results = ["b"];
|
|
//shouldBe('regex657.exec(input0);', 'results');
|
|
//// Failers
|
|
//var input1 = "-";
|
|
//var results = null;
|
|
//shouldBe('regex657.exec(input1);', 'results');
|
|
//
|
|
//var regex658 = /^[a\Q]bc\E]/;
|
|
//var input0 = "a";
|
|
//var results = ["a"];
|
|
//shouldBe('regex658.exec(input0);', 'results');
|
|
//var input1 = "]";
|
|
//var results = ["]"];
|
|
//shouldBe('regex658.exec(input1);', 'results');
|
|
//var input2 = "c";
|
|
//var results = ["c"];
|
|
//shouldBe('regex658.exec(input2);', 'results');
|
|
//
|
|
//var regex659 = /^[a-\Q\E]/;
|
|
//var input0 = "a";
|
|
//var results = ["a"];
|
|
//shouldBe('regex659.exec(input0);', 'results');
|
|
//var input1 = "-";
|
|
//var results = ["-"];
|
|
//shouldBe('regex659.exec(input1);', 'results');
|
|
|
|
// DISABLED:
|
|
// These tests use \A and \z tokens. These are not currently valid in ECMAScript,
|
|
// but these tests may be useful if similar constructs are introduced in the future.
|
|
|
|
//var regex591 = /b\z/;
|
|
//var input0 = "a\nb";
|
|
//var results = ["b"];
|
|
//shouldBe('regex591.exec(input0);', 'results');
|
|
//
|
|
//var regex615 = /(?!\A)x/m;
|
|
//var input0 = "a\nxb\n";
|
|
//var results = ["x"];
|
|
//shouldBe('regex615.exec(input0);', 'results');
|
|
});
|