Pass | Alternations are tried left to right, with no backtracking into a lookbehind | Asserts runPass | assert_array_equals(["xabcd", "cd", ""], ["xabcd", "cd", ""], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:14:3) | Pass | assert_array_equals(["xabcd", "bcd", ""], ["xabcd", "bcd", ""], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:15:3) | Pass | assert_array_equals(["xxabcd", "bcd", ""], ["xxabcd", "bcd", ""], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:16:3) | Pass | assert_array_equals(["xxabcd", "xx", "abcd"], ["xxabcd", "xx", "abcd"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:17:3) |
|
Pass | Back-references | Asserts runPass | assert_array_equals(["b", "b", "bb"], ["b", "b", "bb"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:22:3) | Pass | assert_array_equals(["B", "B", "bB"], ["B", "B", "bB"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:23:3) | Pass | assert_array_equals(["aB", "aB", "a"], ["aB", "aB", "a"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:24:3) | Pass | assert_array_equals(["Ba", "Ba", "a"], ["Ba", "Ba", "a"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:25:3) | Pass | assert_array_equals(["b", "b", "B"], ["b", "b", "B"], "#5")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:26:3) | Pass | assert_array_equals(["foo", "'", "foo"], ["foo", "'", "foo"], "#6")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:27:3) | Pass | assert_array_equals(["foo", "\"", "foo"], ["foo", "\"", "foo"], "#7")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:28:3) | Pass | assert_array_equals(["b", "b"], ["b", "b"], "#8")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:29:3) | Pass | assert_array_equals(["ab", "ab"], ["ab", "ab"], "#9")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:30:3) | Pass | assert_equals(null, null, "#10")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:31:3) | Pass | assert_equals(null, null, "#11")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:32:3) | Pass | assert_equals(null, null, "#12")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:33:3) | Pass | assert_equals(null, null, "#13")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:34:3) | Pass | assert_equals(null, null, "#14")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:35:3) | Pass | assert_equals(null, null, "#15")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:36:3) | Pass | assert_equals(null, null, "#16")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:37:3) | Pass | assert_equals(null, null, "#17")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:38:3) | Pass | assert_equals(null, null, "#18")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:39:3) |
|
Pass | Back-references to captures inside the lookbehind | Asserts runPass | assert_array_equals(["d", "C"], ["d", "C"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:44:3) | Pass | assert_array_equals(["d", "x"], ["d", "x"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:45:3) | Pass | assert_array_equals(["c", "ab"], ["c", "ab"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:46:3) | Pass | assert_array_equals(["c", "b"], ["c", "b"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:47:3) | Pass | assert_equals(null, null, "#5")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:48:3) | Pass | assert_array_equals(["c", "abab"], ["c", "abab"], "#6")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:49:3) |
|
Pass | Capturing matches | Asserts runPass | assert_array_equals(["def", "c"], ["def", "c"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:55:3) | Pass | assert_array_equals(["def", "bc"], ["def", "bc"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:56:3) | Pass | assert_array_equals(["def", "bc", "c"], ["def", "bc", "c"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:57:3) | Pass | assert_array_equals(["def", "a"], ["def", "a"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:58:3) | Pass | assert_array_equals(["d", "bc", undefined], ["d", "bc", undefined], "#5")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:59:3) | Pass | assert_array_equals(["c", "a", undefined], ["c", "a", undefined], "#6")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:60:3) | Pass | assert_array_equals(["ab", "a", "b"], ["ab", "a", "b"], "#7")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:61:3) | Pass | assert_array_equals(["c", "d"], ["c", "d"], "#8")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:62:3) | Pass | assert_array_equals(["cd", "ef"], ["cd", "ef"], "#9")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:63:3) |
|
Pass | Captures inside negative lookbehind | Asserts runPass | assert_array_equals(["de", undefined], ["de", undefined])
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:68:3) |
|
Pass | Do not backtrack into a lookbehind | Asserts runPass | assert_equals(null, null)
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:75:3) |
|
Pass | Greedy loop | Asserts runPass | assert_array_equals(["c", "bbbbbb"], ["c", "bbbbbb"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:80:3) | Pass | assert_array_equals(["c", "b1234"], ["c", "b1234"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:81:3) | Pass | assert_array_equals(["c", "b12b23b34"], ["c", "b12b23b34"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:82:3) |
|
Pass | Miscellaneous | Asserts runPass | assert_equals(null, null, "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:87:3) | Pass | assert_equals(null, null, "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:88:3) | Pass | assert_equals(null, null, "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:89:3) | Pass | assert_equals(null, null, "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:90:3) | Pass | assert_array_equals(["foo"], ["foo"], "#5")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:91:3) | Pass | assert_array_equals(["foo"], ["foo"], "#6")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:92:3) | Pass | assert_array_equals(["fno"], ["fno"], "#7")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:93:3) | Pass | assert_array_equals(["foooo"], ["foooo"], "#8")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:94:3) | Pass | assert_array_equals(["foooo"], ["foooo"], "#9")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:95:3) | Pass | assert_array_equals(["abc", "abc"], ["abc", "abc"], "#10")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:96:3) | Pass | assert_array_equals(["abc", "abc"], ["abc", "abc"], "#11")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:97:3) | Pass | assert_array_equals(["abc", "abc"], ["abc", "abc"], "#12")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:98:3) | Pass | assert_array_equals(["abc", "abc"], ["abc", "abc"], "#13")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:99:3) |
|
Pass | Mutual recursive capture/back references | Asserts runPass | assert_array_equals(["cacb", "a", ""], ["cacb", "a", ""], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:104:3) | Pass | assert_array_equals(["b", "ac", "ac"], ["b", "ac", "ac"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:105:3) | Pass | assert_array_equals(["x", "aa"], ["x", "aa"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:106:3) | Pass | assert_array_equals(["x", "aa"], ["x", "aa"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:107:3) |
|
Pass | Negative lookbehinds | Asserts runPass | assert_array_equals(["abc"], ["abc"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:112:3) | Pass | assert_array_equals(["abc"], ["abc"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:113:3) | Pass | assert_array_equals(["abc"], ["abc"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:114:3) | Pass | assert_array_equals(["abc"], ["abc"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:115:3) | Pass | assert_array_equals(["abc"], ["abc"], "#5")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:116:3) | Pass | assert_equals(null, null, "#6")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:117:3) | Pass | assert_equals(null, null, "#7")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:118:3) | Pass | assert_equals(null, null, "#8")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:119:3) | Pass | assert_equals(null, null, "#9")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:120:3) | Pass | assert_equals(null, null, "#10")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:121:3) | Pass | assert_equals(null, null, "#11")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:122:3) | Pass | assert_equals(null, null, "#12")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:123:3) |
|
Pass | Nested lookaround | Asserts runPass | assert_array_equals(["ef"], ["ef"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:128:3) | Pass | assert_array_equals(["ef", "bc"], ["ef", "bc"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:129:3) | Pass | assert_array_equals(["ef", "bc"], ["ef", "bc"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:130:3) | Pass | assert_array_equals(["faaa"], ["faaa"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:131:3) | Pass | assert_equals(null, null, "#5")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:132:3) |
|
Pass | Simple fixed-length matches | Asserts runPass | assert_equals(null, null, "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:137:3) | Pass | assert_equals(null, null, "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:138:3) | Pass | assert_equals(null, null, "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:139:3) | Pass | assert_equals(null, null, "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:140:3) | Pass | assert_array_equals(["a"], ["a"], "#5")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:141:3) | Pass | assert_array_equals(["foo"], ["foo"], "#6")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:142:3) | Pass | assert_array_equals(["foo"], ["foo"], "#7")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:143:3) | Pass | assert_array_equals(["def"], ["def"], "#8")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:144:3) | Pass | assert_array_equals(["def"], ["def"], "#9")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:145:3) | Pass | assert_array_equals(["def"], ["def"], "#10")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:146:3) | Pass | assert_array_equals(["cde"], ["cde"], "#11")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:147:3) | Pass | assert_array_equals(["def"], ["def"], "#12")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:148:3) | Pass | assert_array_equals(["def"], ["def"], "#13")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:149:3) | Pass | assert_array_equals(["bcd"], ["bcd"], "#14")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:150:3) | Pass | assert_array_equals(["cde"], ["cde"], "#15")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:151:3) | Pass | assert_array_equals(["def"], ["def"], "#16")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:152:3) |
|
Pass | Sliced strings | Asserts runPass | assert_equals(null, null, "")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:158:3) | Pass | assert_equals(null, null, "")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:159:3) | Pass | assert_equals(null, null, "")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:160:3) |
|
Pass | Start of line matches | Asserts runPass | assert_equals(null, null, "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:165:3) | Pass | assert_equals(null, null, "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:166:3) | Pass | assert_equals(null, null, "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:167:3) | Pass | assert_array_equals(["def"], ["def"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:168:3) | Pass | assert_array_equals(["def"], ["def"], "#5")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:169:3) | Pass | assert_array_equals(["def"], ["def"], "#6")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:170:3) | Pass | assert_array_equals(["ab", "cd", "efg"], ["ab", "cd", "efg"], "#7")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:171:3) | Pass | assert_array_equals(["ab", "cd", "efg"], ["ab", "cd", "efg"], "#8")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:172:3) | Pass | assert_array_equals(["ab", "cd", "efg"], ["ab", "cd", "efg"], "#9")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:173:3) | Pass | assert_array_equals(["foo"], ["foo"], "#10")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:174:3) | Pass | assert_array_equals(["foooo"], ["foooo"], "#11")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:175:3) | Pass | assert_array_equals(["foo", "f"], ["foo", "f"], "#12")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:176:3) | Pass | assert_array_equals(["foo", "f"], ["foo", "f"], "#13")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:177:3) | Pass | assert_array_equals(["fooሴ", "f"], ["fooሴ", "f"], "#14")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:178:3) | Pass | assert_array_equals(["def"], ["def"], "#15")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:179:3) | Pass | assert_array_equals(["def", "def"], ["def", "def"], "#16")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:180:3) |
|
Pass | Sticky matches | Asserts runPass | assert_array_equals(["def", "abc"], ["def", "abc"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:186:3) | Pass | assert_array_equals(["def", "abcdef"], ["def", "abcdef"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:187:3) | Pass | assert_array_equals(["def"], ["def"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:189:3) | Pass | assert_array_equals(["def"], ["def"], "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:190:3) |
|
Pass | Variable-length matches | Asserts runPass | assert_array_equals(["def"], ["def"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:195:3) | Pass | assert_array_equals(["def"], ["def"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:196:3) |
|
Pass | Word boundary matches | Asserts runPass | assert_array_equals(["def"], ["def"], "#1")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:201:3) | Pass | assert_array_equals(["def"], ["def"], "#2")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:202:3) | Pass | assert_array_equals(["def"], ["def"], "#3")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:203:3) | Pass | assert_equals(null, null, "#4")
at Test.<anonymous> ( /ecmascript/regexp-lookbehind.html:204:3) |
|