This page tests handling of parentheses subexpressions.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS regexp1.exec('abc') is ['ab','a','b']
PASS regexp2.exec('abacadabe') is ['abe','ab','b','b']
PASS regexp3.exec('abacadabe') is ['abe','ab','b',undefined]
PASS regexp4.exec('abacadabe') is ['abe','ab','b',undefined]
PASS regexp5.exec('abacadabe') is ['abe','ab','b','b',undefined,undefined]
PASS regexp6.exec('abcde') is ['ab','ab','b','b',undefined,undefined]
PASS regexp7.exec('abc') is ['abc','ab','b']
PASS regexp8.exec('bcaddxqy') is ['qy','q','q','y']
PASS regexp9.exec('asdfjejgsdflaksdfjkeljghkjea') is ['a','a',undefined]
PASS regexp10.exec('asdfjejgsdflaksdfjkeljghat') is ['at']
PASS regexp11.exec('Developing with JavaScript is dangerous, do not try it without assistance') is null
PASS regexp12.exec('Seattle, WA to Buckley, WA') is ['Seattle, WA to Buckley, WA', undefined, 'Seattle', 'WA', undefined, 'Buckley', 'WA']
PASS regexp13.exec('zxcasd;fl ^AaaAAaaaf;lrlrzs') is ['AaaAAaaaf;lrlrzs',undefined,'AaaAAaaaf;lrlrzs']
PASS regexp14.exec('b') is ['b',undefined,'b']
PASS regexp15.exec('abdf') is ['abdf',undefined,'abd','f']
PASS regexp16.exec('abc') is ['ab','a','b']
PASS regexp17.exec('bcaDxqy') is ['Dx','D']
PASS regexp18.exec('Hello: World') is ['Hello:',':']
PASS regexp19.exec('barrel') is ['bar','']
PASS regexp20.exec('barrel') is ['barrel','rel']
PASS regexp20.exec('2barrel') is ['2barrel','rel']
PASS regexp21.exec('abc') is ['ab','ab','b']
PASS regexp22.exec('abcdlskfgjdslkfg') is null
PASS regexp23.exec('<html xmlns="http://www.w3.org/1999/xhtml"') is ['"http://www.w3.org/1999/xhtml"']
PASS regexp24.exec('123') is null
PASS regexp25.exec('this is a test') is ['this','this',undefined]
PASS regexp25.exec('!this is a test') is null
PASS regexp26.exec('aaa') is ['aaa',undefined,undefined]
PASS regexp27.exec('file:///Users/Someone/Desktop/HelloWorld/index.html') is ['file:///Users/Someone/Desktop/HelloWorld/index.html','file','//','',undefined,undefined,undefined,'',undefined,'/Users/Someone/Desktop/HelloWorld/index.html',undefined,undefined]
PASS regexp28.exec('file:///Users/Someone/Desktop/HelloWorld/index.html') is ['file:','file',undefined,undefined,undefined,undefined,undefined]
PASS regexp29.exec('Committer:') is null
PASS regexp30.exec('Committer:') is null
PASS regexp31.exec('Committer:') is null
PASS regexp32.exec('Committer:') is null
PASS regexp33.exec('> <head>') is ['>',undefined,undefined,'>']
PASS regexp34.exec('xyz123') is null
PASS regexp34.exec('btn-abc') is ['btn-abc']
PASS regexp34.exec('btn- abc') is null
PASS regexp34.exec('XXbtn-abc') is null
PASS regexp34.exec('XX btn-abc') is ['btn-abc']
PASS regexp35.exec('ax') is ['ax','ax','a','x']
PASS regexp35.exec('axx') is null
PASS regexp35.exec('axxx') is ['axxx','axxx','a','xxx']
PASS regexp35.exec('bx') is ['bx','bx','b','x']
PASS regexp35.exec('bxx') is null
PASS regexp35.exec('bxxx') is ['bxxx','bxxx','b','xxx']
PASS regexp36.exec('/2011') is ['/2011','/2011','/','2011']
PASS regexp36.exec('/11') is ['/11','/11','/','11']
PASS regexp36.exec('/123') is null
PASS regexp37.exec('7/4/1776') is ['7/4/1776','7','/','4','/1776','/','1776']
PASS regexp37.exec('07-04-1776') is ['07-04-1776','07','-','04','-1776','-','1776']
PASS regexp38.exec('xx') is ['xx','xx','xx']
PASS regexp38.exec('b') is ['b','b',undefined]
PASS regexp38.exec('z') is ['z','z',undefined]
PASS regexp38.exec('') is ['','',undefined]
PASS regexp39.exec('') is ['',undefined,undefined]
PASS regexp39.exec('8') is ['8','8',undefined]
PASS regexp39.exec('zP') is ['',undefined,undefined]
PASS regexp40.exec('') is ['',undefined,undefined,undefined,'']
PASS regexp40.exec('8') is ['8','8','8',undefined,'']
PASS regexp40.exec('zPz') is ['',undefined,undefined,undefined,'']
PASS regexp40.exec('zPPz') is ['',undefined,undefined,undefined,'']
PASS regexp40.exec('zPPPz') is ['',undefined,undefined,undefined,'']
PASS regexp40.exec('zPPPPz') is ['',undefined,undefined,undefined,'']
PASS regexp41.exec('Here is a link: http://www.acme.com/our_products/index.html. That is all we want!') is ['http://www.acme.com/our_products/index.html','http://www.acme.com/our_products/index.html','http://','l',undefined]
PASS regexp42.exec('') is ['',undefined,undefined]
PASS regexp42.exec('4') is ['4','4','4']
PASS regexp42.exec('4321') is ['4','4','4']
PASS /(?!(?=r{0}){2,})|((z)?)?/gi.test('') is true
PASS regexp43.exec('SSS') is ['']
PASS regexp44.exec('SSS') is ['',undefined]
PASS regexp45.exec('vt') is null
PASS regexp46.exec('5') is null
PASS regexp46.exec('pk') is ['pk',undefined,undefined]
PASS regexp46.exec('Xw555') is ['w555','w',undefined]
PASS regexp46.exec('Xw55pk5') is ['w','w','']
PASS regexp47.exec('/www.acme.com/this/is/a/path/file.txt') is ['/www.acme.com/this/is/a/path/file.txt','/www.acme.com/this/is/a/path/file.txt',undefined]
PASS regexp48.exec('http://www.acme.com/this/is/a/path/file.txt') is ['http://www.acme.com/this/is/a/path/file.txt','http','www.acme.com',undefined,'this/is/a/path/file.txt',undefined,undefined]
PASS regexp49.exec('http://www.acme.com/this/is/a/path/file.txt') is ['http://www.acme.com/this/is/a/path/file.txt',undefined,undefined,'http','www.acme.com',undefined,'this/is/a/path/file.txt',undefined,undefined]
PASS regexp50.exec('((a)b{28,}c|d)x') is null
PASS regexp50.exec('abbbbbbbbbbbbbbbbbbbbbbbbbbbbcx') is ['abbbbbbbbbbbbbbbbbbbbbbbbbbbbcx', 'abbbbbbbbbbbbbbbbbbbbbbbbbbbbc', 'a']
PASS regexp50.exec('dx') is ['dx', 'd', undefined]
PASS regexp51.exec('abc') is null
PASS regexp51.exec(s) is ['){-,}P{Any}',')',undefined]
PASS 'Hi Bob'.match(regexp52) is ['Bob',undefined,'Bob',undefined,undefined]
PASS regexp53.exec('#') is ['',undefined,'']
PASS regexp54.exec('#') is ['','',undefined,undefined,'']
PASS regexp55.exec('#') is ['','']
PASS regexp56.exec('a') is ['','']
PASS regexp57.exec('a') is ['a','a']
PASS regexp58.exec('badbc') is ['a']
PASS 'Y aaa X Match1 Y aaa Y Match2 Z'.match(regexp59) is ['X Match1 Y','Y Match2 Z']
PASS successfullyParsed is true

TEST COMPLETE

