zero.dat revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'Reilly: regex zero width extension tests 2001-05-25
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'Reilly{E (?#aha)a a (0,1) (?...) not supported
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?#aha)abc(?# foo ) aaabczz (2,5)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?#oops aaabczz EPAREN
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE abc(?=foo) abcabcfoo (3,6)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE abc(?=foo) abcabcfoobar (3,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?=foo)foo abcabcfoofoo (3,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?=foo)foo abcabcfoobar (3,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?=foo)bar abcabcfoobar NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(foo)(bar) abcabcfoobar (3,12)(6,9)(9,12)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?=foo)(bar) abcabcfoobar NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?=foo)(foo) abcabcfoobar (3,9)(6,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?=foo)foobar abcabcfoobar (3,12)
c0833539c8cf577dd3f2497792fbdd818442744cChristian MaederE abc(?=foo)(foo)bar abcabcfoobar (3,12)(6,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'Reilly# anonymous groups
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?:foo) abcabcfoo (3,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?:foo)foo abcabcfoo NOMATCH
c0833539c8cf577dd3f2497792fbdd818442744cChristian MaederE abc(?:foo)bar abcabcfoobar (3,12)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?:foo)(bar) abcabcfoobar (3,12)(9,12)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?=abc) xxabcabcxx (2,2)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?=abc)? xxabcabcxx BADRPT
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?=abc)* xxabcabcxx BADRPT
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?=abc)+ xxabcabcxx BADRPT
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?:abc) xxabcabcxx (2,5)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE .(?:abc) xxabcabcxx (1,5)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?:abc). xxabcabcxx (2,6)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE .(?:abc). xxabcabcxx (1,6)
caf021dd48c90ff6b26117f13e1d8c0ef1ca618aChristian MaederE ..(?:abc) xxabcabcxx (0,5)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?:abc).. xxabcabcxx (2,7)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE ..(?:abc).. xxabcabcxx (0,7)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?:abc)? xxabcabcxx (0,0)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE .(?:abc)? xxabcabcxx (0,1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?:abc)?. xxabcabcxx (0,1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE .(?:abc)?. xxabcabcxx (0,2)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE ..(?:abc)? xxabcabcxx (0,5)
caf021dd48c90ff6b26117f13e1d8c0ef1ca618aChristian MaederE (?:abc)?.. xxabcabcxx (0,2)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE ..(?:abc)?.. xxabcabcxx (0,7)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (?:abc){1} xxabcabcxx (2,5)
caf021dd48c90ff6b26117f13e1d8c0ef1ca618aChristian MaederE .(?:abc){1} xxabcabcxx (1,5)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (?:abc){1}. xxabcabcxx (2,6)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE .(?:abc){1}. xxabcabcxx (1,6)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE ..(?:abc){1} xxabcabcxx (0,5)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?:abc){1}.. xxabcabcxx (2,7)
2f52a5583eb8d705393d9f4347cb7cc3139d34feLiam O'ReillyE ..(?:abc){1}.. xxabcabcxx (0,7)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?:abc)(?:abc) xxabcabcxx (2,8)
caf021dd48c90ff6b26117f13e1d8c0ef1ca618aChristian MaederE (?:abc)* xxabcabcxx (0,0)
caf021dd48c90ff6b26117f13e1d8c0ef1ca618aChristian MaederE (?:abc)+ xxabcabcxx (2,8)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?:abc){2} xxabcabcxx (2,8)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (?:abc)*? xxabcabcxx (0,0)
53bd0c89aa4743dc41a6394db5a90717c1ca4517Liam O'ReillyE (?:abc)+? xxabcabcxx (2,5)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (?:abc){2}? xxabcabcxx (2,8)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'Reilly# sanity check
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (abc) xxabcabcxx (2,5)(2,5)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (abc)? xxabcabcxx (0,0)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE ..(abc)? xxabcabcxx (0,5)(2,5)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (abc)?.. xxabcabcxx (0,2)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ..(abc)?.. xxabcabcxx (0,7)(2,5)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (abc){1} xxabcabcxx (2,5)(2,5)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (abc)(abc) xxabcabcxx (2,8)(2,5)(5,8)
4770d29adda064baa5dbfcca03f600d7608806f7Liam O'ReillyE (abc)* xxabcabcxx (0,0)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (abc)+ xxabcabcxx (2,8)(5,8)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (abc){2} xxabcabcxx (2,8)(5,8)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (abc)*? xxabcabcxx (0,0)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (abc)+? xxabcabcxx (2,5)(2,5)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (abc){2}? xxabcabcxx (2,8)(5,8)
33bdce26495121cdbce30331ef90a1969126a840Liam O'Reilly# scoped flags
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?i)Hello.Hello Hello Hello (0,11)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?i)hello.hello Hello Hello (0,11)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?i)hello.(?-i)hello Hello Hello NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?i:hello).(?-i:hello) Hello Hello NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?i)hello.(?-i)Hello Hello Hello (0,11)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?i:hello).hello Hello Hello NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?i:hello).Hello Hello Hello (0,11)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyEi (?i)hello.(?-i)hello Hello Hello NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyEi hello.(?-i)hello Hello Hello NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyEi hello.(?-i)Hello Hello Hello (0,11)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ..(abc)+.. xxabcabcxx (0,10)(5,8)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ..(?:abc)+.. xxabcabcxx (0,10)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ..(?:abc)*.. xxabcabcxx (0,10)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ..(?:abc)?.. xxabcabcxx (0,7)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (..)(?:abc)+(..) xxabcabcxx (0,10)(0,2)(8,10)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (..)(?:abc)*(..) xxabcabcxx (0,10)(0,2)(8,10)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (..)(?:abc)?(..) xxabcabcxx (0,7)(0,2)(5,7)
33bdce26495121cdbce30331ef90a1969126a840Liam O'Reilly# shell can do it too
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK *+([0-9]) abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK *+(\d) abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK ~(E).*([0-9])+ abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK ~(E).*(\d)+ abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE .*([0-9])+ abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE .*(\d)+ abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?K)*+([0-9]) abc123xyz NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?K)*+([0-9])* abc123xyz (0,9)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?K-lr)*+([0-9]) abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?K-a)*+([0-9]) abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?K)*+(\d) abc123xyz NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?K)*+(\d)* abc123xyz (0,9)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?K-lr)*+(\d) abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?K-a)*+(\d) abc123xyz (0,6)(5,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'Reilly# backtracking
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyEi \b(foo)\s+(\w+) Food is on the foo table. (15,24)(15,18)(19,24)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyEi foo(.*)bar The food is under the bar in the barn. (4,36)(7,33)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyEi foo(.*?)bar The food is under the bar in the barn. (4,25)(7,22)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^\D*(?!123) ABC123 (0,2)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(ABC) ABC123 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(ABC) ABC445 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*) ABC123 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*) ABC445 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(ABC)(?=123) ABC123 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(ABC)(?!123) ABC123 NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(ABC)(?!123) ABC445 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyA ^(\D*)(123)! ABC123 (0,6)(0,2)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyA ^(\D*)(?:(123)!) ABC123 (0,6)(0,2)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyA ^(\D*)(123)! ABC445 (0,6)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyA ^(\D*)(?:(123)!) ABC445 (0,6)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(123) ABC123 (0,6)(0,3)(3,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(?:123) ABC123 (0,6)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(?=123) ABC123 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(?!123) ABC123 (0,2)(0,2)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(?!123) ABC445 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(?=\d) ABC123 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(?=\d) ABC445 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(?=\d)(?!123) ABC123 NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(\D*)(?=\d)(?!123) ABC445 (0,3)(0,3)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (.*)(\d*) I have 2 numbers: 53147 (0,23)(0,23)(23,23)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (.*)(\d+) I have 2 numbers: 53147 (0,23)(0,22)(22,23)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (.*?)(\d*) I have 2 numbers: 53147 (0,0)(0,0)(0,0)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (.*?)(\d+) I have 2 numbers: 53147 (0,8)(0,7)(7,8)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (.*)(\d+)$ I have 2 numbers: 53147 (0,23)(0,22)(22,23)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (.*?)(\d+)$ I have 2 numbers: 53147 (0,23)(0,18)(18,23)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (.*)\b(\d+)$ I have 2 numbers: 53147 (0,23)(0,18)(18,23)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (.*\D)(\d+)$ I have 2 numbers: 53147 (0,23)(0,18)(18,23)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE \(([^()]+|\([^()]*\))+\) ((()aaaaaaaaaaaaa NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE \(((?>[^()]+)|\([^()]*\))+\) ((()aaaaaaaaaaaaa NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(?:a*)ab aaaaaaaaaaaaab (0,14)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE ^(?>a*)ab aaaaaaaaaaaaab NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyA (abc)foo abcabcfoo (3,9)(3,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyA (?:abc)foo abcabcfoo (3,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyA (abc&.*c)foo abcabcfoo (3,9)(3,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyA (?:abc&.*c)foo abcabcfoo (3,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abcfoo(?<=foo) abcabcfoo (3,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(?<=abc)foo abcabcfoo (3,9)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?<=goo)bar foobargoobar (9,12)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?<!goo)bar foobargoobar (3,6)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (?<!foo)bar foobargoobar (9,12)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc.*(?<=foo)bar abcabcfoobar (0,12)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE abc(foo)(bar) abcabcfoobar (3,12)(6,9)(9,12)
33bdce26495121cdbce30331ef90a1969126a840Liam O'Reilly# external callouts
33bdce26495121cdbce30331ef90a1969126a840Liam O'Reilly{E abc(?{ABC}) <abc> (1,4){ABC}(1:1) external callouts not supported
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (abc(?{ABC})|xyz(?{XYZ})) <abc> (1,4)(1,4){ABC}(1:1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (abc(?{ABC})|xyz(?{XYZ}))+ <abcxyz> (1,7)(4,7){ABC}(1:4){XYZ}(2:1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (abc(?{1ABC})|xyz(?{XYZ}))+ <abcxyz> (4,7)(4,7){1ABC}(1:4){XYZ}(2:1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyE (a.c(?{1ABC})|abc(?{XYZ})) <abcxyz> (1,4)(1,4){1ABC}(1:4){XYZ}(2:4)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK abc~({ABC}) <abc> (1,4){ABC}(1:1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK (abc~({ABC})|xyz~({XYZ})) <abc> (1,4)(1,4){ABC}(1:1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK +(abc~({ABC})|xyz~({XYZ})) <abcxyz> (1,7)(1,7){ABC}(1:4){XYZ}(2:1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK +(abc~({1ABC})|xyz~({XYZ})) <abcxyz> (4,7)(4,7){1ABC}(1:4){XYZ}(2:1)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK (abc~({ABC})|*~({XYZ})) <abcxyz> (0,8)(0,8)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK ~(o:abc~({ABC})|*~({XYZ})) <abcxyz> NOMATCH
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyKm (abc~({ABC})|*~({XYZ})) <abcxyz> (0,0)(0,0)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK ((abc~({ABC}))|(*~({XYZ}))) <abcxyz> (0,8)(0,8)(?,?)(0,8)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyKm ((abc~({ABC}))|(*~({XYZ}))) <abcxyz> (0,0)(0,0)(?,?)(0,0)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK ((abc~({ABC}))|(*c~({XYZ}))) <abcxyz> (0,4)(0,4)(?,?)(0,4)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyKm ((abc~({ABC}))|(*c~({XYZ}))) <abcxyz> (0,4)(0,4)(?,?)(0,4)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK (a?c~({ABC})|abc~({XYZ})) <abcxyz> (1,4)(1,4){ABC}(1:4){XYZ}(2:4)
33bdce26495121cdbce30331ef90a1969126a840Liam O'ReillyK (a?c~({1ABC})|abc~({XYZ})) <abcxyz> (1,4)(1,4){1ABC}(1:4){XYZ}(2:4)