/[pcre]/code/trunk/testdata/testoutput3
ViewVC logotype

Diff of /code/trunk/testdata/testoutput3

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 55 by nigel, Sat Feb 24 21:39:46 2007 UTC revision 96 by nigel, Fri Mar 2 13:10:43 2007 UTC
# Line 1  Line 1 
1  PCRE version 3.6 23-Oct-2001  /^[\w]+/
   
 /(?<!bar)foo/  
     foo  
  0: foo  
     catfood  
  0: foo  
     arfootle  
  0: foo  
     rfoosh  
  0: foo  
     *** Failers  
 No match  
     barfoo  
 No match  
     towbarfoo  
 No match  
   
 /\w{3}(?<!bar)foo/  
     catfood  
  0: catfoo  
     *** Failers  
 No match  
     foo  
 No match  
     barfoo  
 No match  
     towbarfoo  
 No match  
   
 /(?<=(foo)a)bar/  
     fooabar  
  0: bar  
  1: foo  
     *** Failers  
 No match  
     bar  
 No match  
     foobbar  
 No match  
   
 /\Aabc\z/m  
     abc  
  0: abc  
     *** Failers  
 No match  
     abc\n  
 No match  
     qqq\nabc  
 No match  
     abc\nzzz  
 No match  
     qqq\nabc\nzzz  
 No match  
   
 "(?>.*/)foo"  
     /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/  
 No match  
   
 "(?>.*/)foo"  
     /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo  
  0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo  
   
 /(?>(\.\d\d[1-9]?))\d+/  
     1.230003938  
  0: .230003938  
  1: .23  
     1.875000282  
  0: .875000282  
  1: .875  
     *** Failers  
 No match  
     1.235  
 No match  
   
 /^((?>\w+)|(?>\s+))*$/  
     now is the time for all good men to come to the aid of the party  
  0: now is the time for all good men to come to the aid of the party  
  1: party  
     *** Failers  
 No match  
     this is not a line with only words and spaces!  
 No match  
   
 /(\d+)(\w)/  
     12345a  
  0: 12345a  
  1: 12345  
  2: a  
     12345+  
  0: 12345  
  1: 1234  
  2: 5  
   
 /((?>\d+))(\w)/  
     12345a  
  0: 12345a  
  1: 12345  
  2: a  
     *** Failers  
 No match  
     12345+  
 No match  
   
 /(?>a+)b/  
     aaab  
  0: aaab  
   
 /((?>a+)b)/  
     aaab  
  0: aaab  
  1: aaab  
   
 /(?>(a+))b/  
     aaab  
  0: aaab  
  1: aaa  
   
 /(?>b)+/  
     aaabbbccc  
  0: bbb  
   
 /(?>a+|b+|c+)*c/  
     aaabbbbccccd  
  0: aaabbbbc  
   
 /((?>[^()]+)|\([^()]*\))+/  
     ((abc(ade)ufh()()x  
  0: abc(ade)ufh()()x  
  1: x  
   
 /\(((?>[^()]+)|\([^()]+\))+\)/  
     (abc)  
  0: (abc)  
  1: abc  
     (abc(def)xyz)  
  0: (abc(def)xyz)  
  1: xyz  
     *** Failers  
 No match  
     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa  
 No match  
   
 /a(?-i)b/i  
     ab  
  0: ab  
     *** Failers  
 No match  
     Ab  
 No match  
     aB  
 No match  
     AB  
 No match  
   
 /(a (?x)b c)d e/  
     a bcd e  
  0: a bcd e  
  1: a bc  
     *** Failers  
 No match  
     a b cd e  
 No match  
     abcd e  
 No match  
     a bcde  
 No match  
   
 /(a b(?x)c d (?-x)e f)/  
     a bcde f  
  0: a bcde f  
  1: a bcde f  
     *** Failers  
 No match  
     abcdef  
 No match  
   
 /(a(?i)b)c/  
     abc  
  0: abc  
  1: ab  
     aBc  
  0: aBc  
  1: aB  
     *** Failers  
 No match  
     abC  
 No match  
     aBC  
 No match  
     Abc  
 No match  
     ABc  
 No match  
     ABC  
 No match  
     AbC  
 No match  
   
 /a(?i:b)c/  
     abc  
  0: abc  
     aBc  
  0: aBc  
     *** Failers  
 No match  
     ABC  
 No match  
     abC  
 No match  
     aBC  
 No match  
   
 /a(?i:b)*c/  
     aBc  
  0: aBc  
     aBBc  
  0: aBBc  
     *** Failers  
 No match  
     aBC  
 No match  
     aBBC  
 No match  
   
 /a(?=b(?i)c)\w\wd/  
     abcd  
  0: abcd  
     abCd  
  0: abCd  
     *** Failers  
 No match  
     aBCd  
 No match  
     abcD  
 No match  
   
 /(?s-i:more.*than).*million/i  
     more than million  
  0: more than million  
     more than MILLION  
  0: more than MILLION  
     more \n than Million  
  0: more \x0a than Million  
     *** Failers  
 No match  
     MORE THAN MILLION  
 No match  
     more \n than \n million  
 No match  
   
 /(?:(?s-i)more.*than).*million/i  
     more than million  
  0: more than million  
     more than MILLION  
  0: more than MILLION  
     more \n than Million  
  0: more \x0a than Million  
     *** Failers  
 No match  
     MORE THAN MILLION  
 No match  
     more \n than \n million  
 No match  
   
 /(?>a(?i)b+)+c/  
     abc  
  0: abc  
     aBbc  
  0: aBbc  
     aBBc  
  0: aBBc  
     *** Failers  
 No match  
     Abc  
 No match  
     abAb  
 No match  
     abbC  
 No match  
   
 /(?=a(?i)b)\w\wc/  
     abc  
  0: abc  
     aBc  
  0: aBc  
     *** Failers  
 No match  
     Ab  
 No match  
     abC  
 No match  
     aBC  
 No match  
   
 /(?<=a(?i)b)(\w\w)c/  
     abxxc  
  0: xxc  
  1: xx  
     aBxxc  
  0: xxc  
  1: xx  
     *** Failers  
 No match  
     Abxxc  
 No match  
     ABxxc  
 No match  
     abxxC  
 No match  
   
 /(?:(a)|b)(?(1)A|B)/  
     aA  
  0: aA  
  1: a  
     bB  
  0: bB  
     *** Failers  
 No match  
     aB  
 No match  
     bA  
 No match  
   
 /^(a)?(?(1)a|b)+$/  
     aa  
  0: aa  
  1: a  
     b  
  0: b  
     bb  
  0: bb  
     *** Failers  
 No match  
     ab  
 No match  
   
 /^(?(?=abc)\w{3}:|\d\d)$/  
     abc:  
  0: abc:  
     12  
  0: 12  
     *** Failers  
 No match  
     123  
 No match  
     xyz  
 No match  
   
 /^(?(?!abc)\d\d|\w{3}:)$/  
     abc:  
  0: abc:  
     12  
  0: 12  
     *** Failers  
 No match  
     123  
 No match  
     xyz  
 No match  
   
 /(?(?<=foo)bar|cat)/  
     foobar  
  0: bar  
     cat  
  0: cat  
     fcat  
  0: cat  
     focat  
  0: cat  
     *** Failers  
 No match  
     foocat  
 No match  
   
 /(?(?<!foo)cat|bar)/  
     foobar  
  0: bar  
     cat  
  0: cat  
     fcat  
  0: cat  
     focat  
  0: cat  
     *** Failers  
 No match  
     foocat  
 No match  
   
 /( \( )? [^()]+ (?(1) \) |) /x  
     abcd  
  0: abcd  
     (abcd)  
  0: (abcd)  
  1: (  
     the quick (abcd) fox  
  0: the quick  
     (abcd  
  0: abcd  
   
 /( \( )? [^()]+ (?(1) \) ) /x  
     abcd  
  0: abcd  
     (abcd)  
  0: (abcd)  
  1: (  
     the quick (abcd) fox  
  0: the quick  
     (abcd  
  0: abcd  
   
 /^(?(2)a|(1)(2))+$/  
     12  
  0: 12  
  1: 1  
  2: 2  
     12a  
  0: 12a  
  1: 1  
  2: 2  
     12aa  
  0: 12aa  
  1: 1  
  2: 2  
     *** Failers  
 No match  
     1234  
 No match  
   
 /((?i)blah)\s+\1/  
     blah blah  
  0: blah blah  
  1: blah  
     BLAH BLAH  
  0: BLAH BLAH  
  1: BLAH  
     Blah Blah  
  0: Blah Blah  
  1: Blah  
     blaH blaH  
  0: blaH blaH  
  1: blaH  
     *** Failers  
 No match  
     blah BLAH  
 No match  
     Blah blah  
 No match  
     blaH blah  
 No match  
   
 /((?i)blah)\s+(?i:\1)/  
     blah blah  
  0: blah blah  
  1: blah  
     BLAH BLAH  
  0: BLAH BLAH  
  1: BLAH  
     Blah Blah  
  0: Blah Blah  
  1: Blah  
     blaH blaH  
  0: blaH blaH  
  1: blaH  
     blah BLAH  
  0: blah BLAH  
  1: blah  
     Blah blah  
  0: Blah blah  
  1: Blah  
     blaH blah  
  0: blaH blah  
  1: blaH  
   
 /(?>a*)*/  
     a  
  0: a  
     aa  
  0: aa  
     aaaa  
  0: aaaa  
   
 /(abc|)+/  
     abc  
  0: abc  
  1:  
     abcabc  
  0: abcabc  
  1:  
     abcabcabc  
  0: abcabcabc  
  1:  
     xyz  
  0:  
  1:  
   
 /([a]*)*/  
     a  
  0: a  
  1:  
     aaaaa  
  0: aaaaa  
  1:  
   
 /([ab]*)*/  
     a  
  0: a  
  1:  
     b  
  0: b  
  1:  
     ababab  
  0: ababab  
  1:  
     aaaabcde  
  0: aaaab  
  1:  
     bbbb  
  0: bbbb  
  1:  
   
 /([^a]*)*/  
     b  
  0: b  
  1:  
     bbbb  
  0: bbbb  
  1:  
     aaa  
  0:  
  1:  
   
 /([^ab]*)*/  
     cccc  
  0: cccc  
  1:  
     abab  
  0:  
  1:  
   
 /([a]*?)*/  
     a  
  0:  
  1:  
     aaaa  
  0:  
  1:  
   
 /([ab]*?)*/  
     a  
  0:  
  1:  
     b  
  0:  
  1:  
     abab  
  0:  
  1:  
     baba  
  0:  
  1:  
   
 /([^a]*?)*/  
     b  
  0:  
  1:  
     bbbb  
  0:  
  1:  
     aaa  
  0:  
  1:  
   
 /([^ab]*?)*/  
     c  
  0:  
  1:  
     cccc  
  0:  
  1:  
     baba  
  0:  
  1:  
   
 /(?>a*)*/  
     a  
  0: a  
     aaabcde  
  0: aaa  
   
 /((?>a*))*/  
     aaaaa  
  0: aaaaa  
  1:  
     aabbaa  
  0: aa  
  1:  
   
 /((?>a*?))*/  
     aaaaa  
  0:  
  1:  
     aabbaa  
  0:  
  1:  
   
 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /x  
     12-sep-98  
  0: 12-sep-98  
     12-09-98  
  0: 12-09-98  
     *** Failers  
 No match  
     sep-12-98  
 No match  
   
 /(?<=(foo))bar\1/  
     foobarfoo  
  0: barfoo  
  1: foo  
     foobarfootling  
  0: barfoo  
  1: foo  
     *** Failers  
 No match  
     foobar  
 No match  
     barfoo  
 No match  
   
 /(?i:saturday|sunday)/  
     saturday  
  0: saturday  
     sunday  
  0: sunday  
     Saturday  
  0: Saturday  
     Sunday  
  0: Sunday  
     SATURDAY  
  0: SATURDAY  
     SUNDAY  
  0: SUNDAY  
     SunDay  
  0: SunDay  
   
 /(a(?i)bc|BB)x/  
     abcx  
  0: abcx  
  1: abc  
     aBCx  
  0: aBCx  
  1: aBC  
     bbx  
  0: bbx  
  1: bb  
     BBx  
  0: BBx  
  1: BB  
     *** Failers  
 No match  
     abcX  
 No match  
     aBCX  
 No match  
     bbX  
 No match  
     BBX  
 No match  
   
 /^([ab](?i)[cd]|[ef])/  
     ac  
  0: ac  
  1: ac  
     aC  
  0: aC  
  1: aC  
     bD  
  0: bD  
  1: bD  
     elephant  
  0: e  
  1: e  
     Europe  
  0: E  
  1: E  
     frog  
  0: f  
  1: f  
     France  
  0: F  
  1: F  
     *** Failers  
 No match  
     Africa  
 No match  
   
 /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/  
     ab  
  0: ab  
  1: ab  
     aBd  
  0: aBd  
  1: aBd  
     xy  
  0: xy  
  1: xy  
     xY  
  0: xY  
  1: xY  
     zebra  
  0: z  
  1: z  
     Zambesi  
  0: Z  
  1: Z  
     *** Failers  
 No match  
     aCD  
 No match  
     XY  
 No match  
   
 /(?<=foo\n)^bar/m  
     foo\nbar  
  0: bar  
     *** Failers  
 No match  
     bar  
 No match  
     baz\nbar  
 No match  
   
 /(?<=(?<!foo)bar)baz/  
     barbaz  
  0: baz  
     barbarbaz  
  0: baz  
     koobarbaz  
  0: baz  
     *** Failers  
 No match  
     baz  
 No match  
     foobarbaz  
 No match  
   
 /The case of aaaaaa is missed out below because I think Perl 5.005_02 gets/  
 /it wrong; it sets $1 to aaa rather than aa. Compare the following test,/  
 No match  
 /where it does set $1 to aa when matching aaaaaa./  
 No match  
   
 /^(a\1?){4}$/  
     a  
 No match  
     aa  
 No match  
     aaa  
 No match  
     aaaa  
  0: aaaa  
  1: a  
     aaaaa  
  0: aaaaa  
  1: a  
     aaaaaaa  
  0: aaaaaaa  
  1: a  
     aaaaaaaa  
 No match  
     aaaaaaaaa  
 No match  
     aaaaaaaaaa  
  0: aaaaaaaaaa  
  1: aaaa  
     aaaaaaaaaaa  
 No match  
     aaaaaaaaaaaa  
 No match  
     aaaaaaaaaaaaa  
 No match  
     aaaaaaaaaaaaaa  
 No match  
     aaaaaaaaaaaaaaa  
 No match  
     aaaaaaaaaaaaaaaa  
 No match  
   
 /^(a\1?)(a\1?)(a\2?)(a\3?)$/  
     a  
 No match  
     aa  
 No match  
     aaa  
 No match  
     aaaa  
  0: aaaa  
  1: a  
  2: a  
  3: a  
  4: a  
     aaaaa  
  0: aaaaa  
  1: a  
  2: aa  
  3: a  
  4: a  
     aaaaaa  
  0: aaaaaa  
  1: a  
  2: aa  
  3: a  
  4: aa  
     aaaaaaa  
  0: aaaaaaa  
  1: a  
  2: aa  
  3: aaa  
  4: a  
     aaaaaaaa  
 No match  
     aaaaaaaaa  
 No match  
     aaaaaaaaaa  
  0: aaaaaaaaaa  
  1: a  
  2: aa  
  3: aaa  
  4: aaaa  
     aaaaaaaaaaa  
 No match  
     aaaaaaaaaaaa  
 No match  
     aaaaaaaaaaaaa  
 No match  
     aaaaaaaaaaaaaa  
 No match  
     aaaaaaaaaaaaaaa  
 No match  
     aaaaaaaaaaaaaaaa  
 No match  
   
 /The following tests are taken from the Perl 5.005 test suite; some of them/  
 /are compatible with 5.004, but I'd rather not have to sort them out./  
 No match  
   
 /abc/  
     abc  
  0: abc  
     xabcy  
  0: abc  
     ababc  
  0: abc  
     *** Failers  
 No match  
     xbc  
 No match  
     axc  
 No match  
     abx  
 No match  
   
 /ab*c/  
     abc  
  0: abc  
   
 /ab*bc/  
     abc  
  0: abc  
     abbc  
  0: abbc  
     abbbbc  
  0: abbbbc  
   
 /.{1}/  
     abbbbc  
  0: a  
   
 /.{3,4}/  
     abbbbc  
  0: abbb  
   
 /ab{0,}bc/  
     abbbbc  
  0: abbbbc  
   
 /ab+bc/  
     abbc  
  0: abbc  
     *** Failers  
 No match  
     abc  
 No match  
     abq  
 No match  
   
 /ab{1,}bc/  
   
 /ab+bc/  
     abbbbc  
  0: abbbbc  
   
 /ab{1,}bc/  
     abbbbc  
  0: abbbbc  
   
 /ab{1,3}bc/  
     abbbbc  
  0: abbbbc  
   
 /ab{3,4}bc/  
     abbbbc  
  0: abbbbc  
   
 /ab{4,5}bc/  
     *** Failers  
 No match  
     abq  
 No match  
     abbbbc  
 No match  
   
 /ab?bc/  
     abbc  
  0: abbc  
     abc  
  0: abc  
   
 /ab{0,1}bc/  
     abc  
  0: abc  
   
 /ab?bc/  
   
 /ab?c/  
     abc  
  0: abc  
   
 /ab{0,1}c/  
     abc  
  0: abc  
   
 /^abc$/  
     abc  
  0: abc  
     *** Failers  
 No match  
     abbbbc  
 No match  
     abcc  
 No match  
   
 /^abc/  
     abcc  
  0: abc  
   
 /^abc$/  
   
 /abc$/  
     aabc  
  0: abc  
     *** Failers  
 No match  
     aabc  
  0: abc  
     aabcd  
 No match  
   
 /^/  
     abc  
  0:  
   
 /$/  
     abc  
  0:  
   
 /a.c/  
     abc  
  0: abc  
     axc  
  0: axc  
   
 /a.*c/  
     axyzc  
  0: axyzc  
   
 /a[bc]d/  
     abd  
  0: abd  
     *** Failers  
 No match  
     axyzd  
 No match  
     abc  
 No match  
   
 /a[b-d]e/  
     ace  
  0: ace  
   
 /a[b-d]/  
     aac  
  0: ac  
   
 /a[-b]/  
     a-  
  0: a-  
   
 /a[b-]/  
     a-  
  0: a-  
   
 /a]/  
     a]  
  0: a]  
   
 /a[]]b/  
     a]b  
  0: a]b  
   
 /a[^bc]d/  
     aed  
  0: aed  
     *** Failers  
 No match  
     abd  
 No match  
     abd  
 No match  
   
 /a[^-b]c/  
     adc  
  0: adc  
   
 /a[^]b]c/  
     adc  
  0: adc  
     *** Failers  
 No match  
     a-c  
  0: a-c  
     a]c  
 No match  
   
 /\ba\b/  
     a-  
  0: a  
     -a  
  0: a  
     -a-  
  0: a  
   
 /\by\b/  
     *** Failers  
 No match  
     xy  
 No match  
     yz  
 No match  
     xyz  
 No match  
   
 /\Ba\B/  
     *** Failers  
  0: a  
     a-  
 No match  
     -a  
 No match  
     -a-  
 No match  
   
 /\By\b/  
     xy  
  0: y  
   
 /\by\B/  
     yz  
  0: y  
   
 /\By\B/  
     xyz  
  0: y  
   
 /\w/  
     a  
  0: a  
   
 /\W/  
     -  
  0: -  
     *** Failers  
  0: *  
     -  
  0: -  
     a  
 No match  
   
 /a\sb/  
     a b  
  0: a b  
   
 /a\Sb/  
     a-b  
  0: a-b  
     *** Failers  
 No match  
     a-b  
  0: a-b  
     a b  
 No match  
   
 /\d/  
     1  
  0: 1  
   
 /\D/  
     -  
  0: -  
     *** Failers  
  0: *  
     -  
  0: -  
     1  
 No match  
   
 /[\w]/  
     a  
  0: a  
   
 /[\W]/  
     -  
  0: -  
     *** Failers  
  0: *  
     -  
  0: -  
     a  
 No match  
   
 /a[\s]b/  
     a b  
  0: a b  
   
 /a[\S]b/  
     a-b  
  0: a-b  
     *** Failers  
 No match  
     a-b  
  0: a-b  
     a b  
 No match  
   
 /[\d]/  
     1  
  0: 1  
   
 /[\D]/  
     -  
  0: -  
     *** Failers  
  0: *  
     -  
  0: -  
     1  
 No match  
   
 /ab|cd/  
     abc  
  0: ab  
     abcd  
  0: ab  
   
 /()ef/  
     def  
  0: ef  
  1:  
   
 /$b/  
   
 /a\(b/  
     a(b  
  0: a(b  
   
 /a\(*b/  
     ab  
  0: ab  
     a((b  
  0: a((b  
   
 /a\\b/  
     a\b  
 No match  
   
 /((a))/  
     abc  
  0: a  
  1: a  
  2: a  
   
 /(a)b(c)/  
     abc  
  0: abc  
  1: a  
  2: c  
   
 /a+b+c/  
     aabbabc  
  0: abc  
   
 /a{1,}b{1,}c/  
     aabbabc  
  0: abc  
   
 /a.+?c/  
     abcabc  
  0: abc  
   
 /(a+|b)*/  
     ab  
  0: ab  
  1: b  
   
 /(a+|b){0,}/  
     ab  
  0: ab  
  1: b  
   
 /(a+|b)+/  
     ab  
  0: ab  
  1: b  
   
 /(a+|b){1,}/  
     ab  
  0: ab  
  1: b  
   
 /(a+|b)?/  
     ab  
  0: a  
  1: a  
   
 /(a+|b){0,1}/  
     ab  
  0: a  
  1: a  
   
 /[^ab]*/  
     cde  
  0: cde  
   
 /abc/  
     *** Failers  
 No match  
     b  
 No match  
   
   
 /a*/  
   
   
 /([abc])*d/  
     abbbcd  
  0: abbbcd  
  1: c  
   
 /([abc])*bcd/  
     abcd  
  0: abcd  
  1: a  
   
 /a|b|c|d|e/  
     e  
  0: e  
   
 /(a|b|c|d|e)f/  
     ef  
  0: ef  
  1: e  
   
 /abcd*efg/  
     abcdefg  
  0: abcdefg  
   
 /ab*/  
     xabyabbbz  
  0: ab  
     xayabbbz  
  0: a  
   
 /(ab|cd)e/  
     abcde  
  0: cde  
  1: cd  
   
 /[abhgefdc]ij/  
     hij  
  0: hij  
   
 /^(ab|cd)e/  
   
 /(abc|)ef/  
     abcdef  
  0: ef  
  1:  
   
 /(a|b)c*d/  
     abcd  
  0: bcd  
  1: b  
   
 /(ab|ab*)bc/  
     abc  
  0: abc  
  1: a  
   
 /a([bc]*)c*/  
     abc  
  0: abc  
  1: bc  
   
 /a([bc]*)(c*d)/  
     abcd  
  0: abcd  
  1: bc  
  2: d  
   
 /a([bc]+)(c*d)/  
     abcd  
  0: abcd  
  1: bc  
  2: d  
   
 /a([bc]*)(c+d)/  
     abcd  
  0: abcd  
  1: b  
  2: cd  
   
 /a[bcd]*dcdcde/  
     adcdcde  
  0: adcdcde  
   
 /a[bcd]+dcdcde/  
2      *** Failers      *** Failers
3  No match  No match
4      abcde      ╔cole
5  No match  No match
     adcdcde  
 No match  
   
 /(ab|a)b*c/  
     abc  
  0: abc  
  1: ab  
   
 /((a)(b)c)(d)/  
     abcd  
  0: abcd  
  1: abc  
  2: a  
  3: b  
  4: d  
   
 /[a-zA-Z_][a-zA-Z0-9_]*/  
     alpha  
  0: alpha  
   
 /^a(bc+|b[eh])g|.h$/  
     abh  
  0: bh  
   
 /(bc+d$|ef*g.|h?i(j|k))/  
     effgz  
  0: effgz  
  1: effgz  
     ij  
  0: ij  
  1: ij  
  2: j  
     reffgz  
  0: effgz  
  1: effgz  
     *** Failers  
 No match  
     effg  
 No match  
     bcdd  
 No match  
   
 /((((((((((a))))))))))/  
     a  
  0: a  
  1: a  
  2: a  
  3: a  
  4: a  
  5: a  
  6: a  
  7: a  
  8: a  
  9: a  
 10: a  
   
 /((((((((((a))))))))))\10/  
     aa  
  0: aa  
  1: a  
  2: a  
  3: a  
  4: a  
  5: a  
  6: a  
  7: a  
  8: a  
  9: a  
 10: a  
   
 /(((((((((a)))))))))/  
     a  
  0: a  
  1: a  
  2: a  
  3: a  
  4: a  
  5: a  
  6: a  
  7: a  
  8: a  
  9: a  
   
 /multiple words of text/  
     *** Failers  
 No match  
     aa  
 No match  
     uh-uh  
 No match  
   
 /multiple words/  
     multiple words, yeah  
  0: multiple words  
   
 /(.*)c(.*)/  
     abcde  
  0: abcde  
  1: ab  
  2: de  
   
 /\((.*), (.*)\)/  
     (a, b)  
  0: (a, b)  
  1: a  
  2: b  
   
 /[k]/  
   
 /abcd/  
     abcd  
  0: abcd  
   
 /a(bc)d/  
     abcd  
  0: abcd  
  1: bc  
   
 /a[-]?c/  
     ac  
  0: ac  
   
 /(abc)\1/  
     abcabc  
  0: abcabc  
  1: abc  
   
 /([a-c]*)\1/  
     abcabc  
  0: abcabc  
  1: abc  
   
 /(a)|\1/  
     a  
  0: a  
  1: a  
     *** Failers  
  0: a  
  1: a  
     ab  
  0: a  
  1: a  
     x  
 No match  
   
 /(([a-c])b*?\2)*/  
     ababbbcbc  
  0: ababb  
  1: bb  
  2: b  
   
 /(([a-c])b*?\2){3}/  
     ababbbcbc  
  0: ababbbcbc  
  1: cbc  
  2: c  
   
 /((\3|b)\2(a)x)+/  
     aaaxabaxbaaxbbax  
  0: bbax  
  1: bbax  
  2: b  
  3: a  
   
 /((\3|b)\2(a)){2,}/  
     bbaababbabaaaaabbaaaabba  
  0: bbaaaabba  
  1: bba  
  2: b  
  3: a  
   
 /abc/i  
     ABC  
  0: ABC  
     XABCY  
  0: ABC  
     ABABC  
  0: ABC  
     *** Failers  
 No match  
     aaxabxbaxbbx  
 No match  
     XBC  
 No match  
     AXC  
 No match  
     ABX  
 No match  
   
 /ab*c/i  
     ABC  
  0: ABC  
   
 /ab*bc/i  
     ABC  
  0: ABC  
     ABBC  
  0: ABBC  
   
 /ab*?bc/i  
     ABBBBC  
  0: ABBBBC  
   
 /ab{0,}?bc/i  
     ABBBBC  
  0: ABBBBC  
   
 /ab+?bc/i  
     ABBC  
  0: ABBC  
   
 /ab+bc/i  
     *** Failers  
 No match  
     ABC  
 No match  
     ABQ  
 No match  
   
 /ab{1,}bc/i  
   
 /ab+bc/i  
     ABBBBC  
  0: ABBBBC  
   
 /ab{1,}?bc/i  
     ABBBBC  
  0: ABBBBC  
   
 /ab{1,3}?bc/i  
     ABBBBC  
  0: ABBBBC  
   
 /ab{3,4}?bc/i  
     ABBBBC  
  0: ABBBBC  
   
 /ab{4,5}?bc/i  
     *** Failers  
 No match  
     ABQ  
 No match  
     ABBBBC  
 No match  
   
 /ab??bc/i  
     ABBC  
  0: ABBC  
     ABC  
  0: ABC  
   
 /ab{0,1}?bc/i  
     ABC  
  0: ABC  
   
 /ab??bc/i  
   
 /ab??c/i  
     ABC  
  0: ABC  
   
 /ab{0,1}?c/i  
     ABC  
  0: ABC  
   
 /^abc$/i  
     ABC  
  0: ABC  
     *** Failers  
 No match  
     ABBBBC  
 No match  
     ABCC  
 No match  
   
 /^abc/i  
     ABCC  
  0: ABC  
   
 /^abc$/i  
   
 /abc$/i  
     AABC  
  0: ABC  
   
 /^/i  
     ABC  
  0:  
   
 /$/i  
     ABC  
  0:  
   
 /a.c/i  
     ABC  
  0: ABC  
     AXC  
  0: AXC  
   
 /a.*?c/i  
     AXYZC  
  0: AXYZC  
   
 /a.*c/i  
     *** Failers  
 No match  
     AABC  
  0: AABC  
     AXYZD  
 No match  
   
 /a[bc]d/i  
     ABD  
  0: ABD  
   
 /a[b-d]e/i  
     ACE  
  0: ACE  
     *** Failers  
 No match  
     ABC  
 No match  
     ABD  
 No match  
   
 /a[b-d]/i  
     AAC  
  0: AC  
   
 /a[-b]/i  
     A-  
  0: A-  
   
 /a[b-]/i  
     A-  
  0: A-  
   
 /a]/i  
     A]  
  0: A]  
   
 /a[]]b/i  
     A]B  
  0: A]B  
   
 /a[^bc]d/i  
     AED  
  0: AED  
   
 /a[^-b]c/i  
     ADC  
  0: ADC  
     *** Failers  
 No match  
     ABD  
 No match  
     A-C  
 No match  
   
 /a[^]b]c/i  
     ADC  
  0: ADC  
   
 /ab|cd/i  
     ABC  
  0: AB  
     ABCD  
  0: AB  
   
 /()ef/i  
     DEF  
  0: EF  
  1:  
   
 /$b/i  
     *** Failers  
 No match  
     A]C  
 No match  
     B  
 No match  
   
 /a\(b/i  
     A(B  
  0: A(B  
   
 /a\(*b/i  
     AB  
  0: AB  
     A((B  
  0: A((B  
   
 /a\\b/i  
     A\B  
 No match  
   
 /((a))/i  
     ABC  
  0: A  
  1: A  
  2: A  
   
 /(a)b(c)/i  
     ABC  
  0: ABC  
  1: A  
  2: C  
   
 /a+b+c/i  
     AABBABC  
  0: ABC  
   
 /a{1,}b{1,}c/i  
     AABBABC  
  0: ABC  
   
 /a.+?c/i  
     ABCABC  
  0: ABC  
   
 /a.*?c/i  
     ABCABC  
  0: ABC  
   
 /a.{0,5}?c/i  
     ABCABC  
  0: ABC  
   
 /(a+|b)*/i  
     AB  
  0: AB  
  1: B  
   
 /(a+|b){0,}/i  
     AB  
  0: AB  
  1: B  
   
 /(a+|b)+/i  
     AB  
  0: AB  
  1: B  
   
 /(a+|b){1,}/i  
     AB  
  0: AB  
  1: B  
   
 /(a+|b)?/i  
     AB  
  0: A  
  1: A  
   
 /(a+|b){0,1}/i  
     AB  
  0: A  
  1: A  
   
 /(a+|b){0,1}?/i  
     AB  
  0:  
   
 /[^ab]*/i  
     CDE  
  0: CDE  
   
 /abc/i  
   
 /a*/i  
   
   
 /([abc])*d/i  
     ABBBCD  
  0: ABBBCD  
  1: C  
   
 /([abc])*bcd/i  
     ABCD  
  0: ABCD  
  1: A  
   
 /a|b|c|d|e/i  
     E  
  0: E  
   
 /(a|b|c|d|e)f/i  
     EF  
  0: EF  
  1: E  
   
 /abcd*efg/i  
     ABCDEFG  
  0: ABCDEFG  
   
 /ab*/i  
     XABYABBBZ  
  0: AB  
     XAYABBBZ  
  0: A  
   
 /(ab|cd)e/i  
     ABCDE  
  0: CDE  
  1: CD  
   
 /[abhgefdc]ij/i  
     HIJ  
  0: HIJ  
   
 /^(ab|cd)e/i  
     ABCDE  
 No match  
   
 /(abc|)ef/i  
     ABCDEF  
  0: EF  
  1:  
   
 /(a|b)c*d/i  
     ABCD  
  0: BCD  
  1: B  
   
 /(ab|ab*)bc/i  
     ABC  
  0: ABC  
  1: A  
   
 /a([bc]*)c*/i  
     ABC  
  0: ABC  
  1: BC  
   
 /a([bc]*)(c*d)/i  
     ABCD  
  0: ABCD  
  1: BC  
  2: D  
   
 /a([bc]+)(c*d)/i  
     ABCD  
  0: ABCD  
  1: BC  
  2: D  
   
 /a([bc]*)(c+d)/i  
     ABCD  
  0: ABCD  
  1: B  
  2: CD  
   
 /a[bcd]*dcdcde/i  
     ADCDCDE  
  0: ADCDCDE  
   
 /a[bcd]+dcdcde/i  
   
 /(ab|a)b*c/i  
     ABC  
  0: ABC  
  1: AB  
   
 /((a)(b)c)(d)/i  
     ABCD  
  0: ABCD  
  1: ABC  
  2: A  
  3: B  
  4: D  
   
 /[a-zA-Z_][a-zA-Z0-9_]*/i  
     ALPHA  
  0: ALPHA  
   
 /^a(bc+|b[eh])g|.h$/i  
     ABH  
  0: BH  
   
 /(bc+d$|ef*g.|h?i(j|k))/i  
     EFFGZ  
  0: EFFGZ  
  1: EFFGZ  
     IJ  
  0: IJ  
  1: IJ  
  2: J  
     REFFGZ  
  0: EFFGZ  
  1: EFFGZ  
     *** Failers  
 No match  
     ADCDCDE  
 No match  
     EFFG  
 No match  
     BCDD  
 No match  
   
 /((((((((((a))))))))))/i  
     A  
  0: A  
  1: A  
  2: A  
  3: A  
  4: A  
  5: A  
  6: A  
  7: A  
  8: A  
  9: A  
 10: A  
   
 /((((((((((a))))))))))\10/i  
     AA  
  0: AA  
  1: A  
  2: A  
  3: A  
  4: A  
  5: A  
  6: A  
  7: A  
  8: A  
  9: A  
 10: A  
   
 /(((((((((a)))))))))/i  
     A  
  0: A  
  1: A  
  2: A  
  3: A  
  4: A  
  5: A  
  6: A  
  7: A  
  8: A  
  9: A  
   
 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i  
     A  
  0: A  
  1: A  
   
 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i  
     C  
  0: C  
  1: C  
   
 /multiple words of text/i  
     *** Failers  
 No match  
     AA  
 No match  
     UH-UH  
 No match  
   
 /multiple words/i  
     MULTIPLE WORDS, YEAH  
  0: MULTIPLE WORDS  
   
 /(.*)c(.*)/i  
     ABCDE  
  0: ABCDE  
  1: AB  
  2: DE  
   
 /\((.*), (.*)\)/i  
     (A, B)  
  0: (A, B)  
  1: A  
  2: B  
   
 /[k]/i  
   
 /abcd/i  
     ABCD  
  0: ABCD  
   
 /a(bc)d/i  
     ABCD  
  0: ABCD  
  1: BC  
   
 /a[-]?c/i  
     AC  
  0: AC  
   
 /(abc)\1/i  
     ABCABC  
  0: ABCABC  
  1: ABC  
   
 /([a-c]*)\1/i  
     ABCABC  
  0: ABCABC  
  1: ABC  
   
 /a(?!b)./  
     abad  
  0: ad  
   
 /a(?=d)./  
     abad  
  0: ad  
   
 /a(?=c|d)./  
     abad  
  0: ad  
   
 /a(?:b|c|d)(.)/  
     ace  
  0: ace  
  1: e  
   
 /a(?:b|c|d)*(.)/  
     ace  
  0: ace  
  1: e  
   
 /a(?:b|c|d)+?(.)/  
     ace  
  0: ace  
  1: e  
     acdbcdbe  
  0: acd  
  1: d  
   
 /a(?:b|c|d)+(.)/  
     acdbcdbe  
  0: acdbcdbe  
  1: e  
   
 /a(?:b|c|d){2}(.)/  
     acdbcdbe  
  0: acdb  
  1: b  
   
 /a(?:b|c|d){4,5}(.)/  
     acdbcdbe  
  0: acdbcdb  
  1: b  
   
 /a(?:b|c|d){4,5}?(.)/  
     acdbcdbe  
  0: acdbcd  
  1: d  
   
 /((foo)|(bar))*/  
     foobar  
  0: foobar  
  1: bar  
  2: foo  
  3: bar  
   
 /a(?:b|c|d){6,7}(.)/  
     acdbcdbe  
  0: acdbcdbe  
  1: e  
   
 /a(?:b|c|d){6,7}?(.)/  
     acdbcdbe  
  0: acdbcdbe  
  1: e  
   
 /a(?:b|c|d){5,6}(.)/  
     acdbcdbe  
  0: acdbcdbe  
  1: e  
   
 /a(?:b|c|d){5,6}?(.)/  
     acdbcdbe  
  0: acdbcdb  
  1: b  
   
 /a(?:b|c|d){5,7}(.)/  
     acdbcdbe  
  0: acdbcdbe  
  1: e  
   
 /a(?:b|c|d){5,7}?(.)/  
     acdbcdbe  
  0: acdbcdb  
  1: b  
   
 /a(?:b|(c|e){1,2}?|d)+?(.)/  
     ace  
  0: ace  
  1: c  
  2: e  
   
 /^(.+)?B/  
     AB  
  0: AB  
  1: A  
   
 /^([^a-z])|(\^)$/  
     .  
  0: .  
  1: .  
   
 /^[<>]&/  
     <&OUT  
  0: <&  
   
 /^(a\1?){4}$/  
     aaaaaaaaaa  
  0: aaaaaaaaaa  
  1: aaaa  
     *** Failers  
 No match  
     AB  
 No match  
     aaaaaaaaa  
 No match  
     aaaaaaaaaaa  
 No match  
   
 /^(a(?(1)\1)){4}$/  
     aaaaaaaaaa  
  0: aaaaaaaaaa  
  1: aaaa  
     *** Failers  
 No match  
     aaaaaaaaa  
 No match  
     aaaaaaaaaaa  
 No match  
   
 /(?:(f)(o)(o)|(b)(a)(r))*/  
     foobar  
  0: foobar  
  1: f  
  2: o  
  3: o  
  4: b  
  5: a  
  6: r  
   
 /(?<=a)b/  
     ab  
  0: b  
     *** Failers  
 No match  
     cb  
 No match  
     b  
 No match  
   
 /(?<!c)b/  
     ab  
  0: b  
     b  
  0: b  
     b  
  0: b  
   
 /(?:..)*a/  
     aba  
  0: aba  
   
 /(?:..)*?a/  
     aba  
  0: a  
   
 /^(?:b|a(?=(.)))*\1/  
     abc  
  0: ab  
  1: b  
   
 /^(){3,5}/  
     abc  
  0:  
  1:  
   
 /^(a+)*ax/  
     aax  
  0: aax  
  1: a  
   
 /^((a|b)+)*ax/  
     aax  
  0: aax  
  1: a  
  2: a  
   
 /^((a|bc)+)*ax/  
     aax  
  0: aax  
  1: a  
  2: a  
   
 /(a|x)*ab/  
     cab  
  0: ab  
   
 /(a)*ab/  
     cab  
  0: ab  
   
 /(?:(?i)a)b/  
     ab  
  0: ab  
   
 /((?i)a)b/  
     ab  
  0: ab  
  1: a  
   
 /(?:(?i)a)b/  
     Ab  
  0: Ab  
   
 /((?i)a)b/  
     Ab  
  0: Ab  
  1: A  
   
 /(?:(?i)a)b/  
     *** Failers  
 No match  
     cb  
 No match  
     aB  
 No match  
   
 /((?i)a)b/  
   
 /(?i:a)b/  
     ab  
  0: ab  
   
 /((?i:a))b/  
     ab  
  0: ab  
  1: a  
   
 /(?i:a)b/  
     Ab  
  0: Ab  
   
 /((?i:a))b/  
     Ab  
  0: Ab  
  1: A  
   
 /(?i:a)b/  
     *** Failers  
 No match  
     aB  
 No match  
     aB  
 No match  
   
 /((?i:a))b/  
   
 /(?:(?-i)a)b/i  
     ab  
  0: ab  
   
 /((?-i)a)b/i  
     ab  
  0: ab  
  1: a  
   
 /(?:(?-i)a)b/i  
     aB  
  0: aB  
   
 /((?-i)a)b/i  
     aB  
  0: aB  
  1: a  
   
 /(?:(?-i)a)b/i  
     *** Failers  
 No match  
     aB  
  0: aB  
     Ab  
 No match  
   
 /((?-i)a)b/i  
   
 /(?:(?-i)a)b/i  
     aB  
  0: aB  
   
 /((?-i)a)b/i  
     aB  
  0: aB  
  1: a  
6    
7  /(?:(?-i)a)b/i  /^[\w]+/Lfr_FR
8      *** Failers      ╔cole
9  No match   0: ╔cole
     Ab  
 No match  
     AB  
 No match  
   
 /((?-i)a)b/i  
   
 /(?-i:a)b/i  
     ab  
  0: ab  
   
 /((?-i:a))b/i  
     ab  
  0: ab  
  1: a  
   
 /(?-i:a)b/i  
     aB  
  0: aB  
   
 /((?-i:a))b/i  
     aB  
  0: aB  
  1: a  
   
 /(?-i:a)b/i  
     *** Failers  
 No match  
     AB  
 No match  
     Ab  
 No match  
   
 /((?-i:a))b/i  
   
 /(?-i:a)b/i  
     aB  
  0: aB  
   
 /((?-i:a))b/i  
     aB  
  0: aB  
  1: a  
   
 /(?-i:a)b/i  
     *** Failers  
 No match  
     Ab  
 No match  
     AB  
 No match  
   
 /((?-i:a))b/i  
   
 /((?-i:a.))b/i  
     *** Failers  
 No match  
     AB  
 No match  
     a\nB  
 No match  
   
 /((?s-i:a.))b/i  
     a\nB  
  0: a\x0aB  
  1: a\x0a  
   
 /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/  
     cabbbb  
  0: cabbbb  
   
 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/  
     caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb  
  0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb  
   
 /(ab)\d\1/i  
     Ab4ab  
  0: Ab4ab  
  1: Ab  
     ab4Ab  
  0: ab4Ab  
  1: ab  
   
 /foo\w*\d{4}baz/  
     foobar1234baz  
  0: foobar1234baz  
   
 /x(~~)*(?:(?:F)?)?/  
     x~~  
  0: x~~  
  1: ~~  
   
 /^a(?#xxx){3}c/  
     aaac  
  0: aaac  
   
 /^a (?#xxx) (?#yyy) {3}c/x  
     aaac  
  0: aaac  
   
 /(?<![cd])b/  
     *** Failers  
 No match  
     B\nB  
 No match  
     dbcb  
 No match  
   
 /(?<![cd])[ab]/  
     dbaacb  
  0: a  
   
 /(?<!(c|d))b/  
10    
11  /(?<!(c|d))[ab]/  /^[\w]+/
     dbaacb  
  0: a  
   
 /(?<!cd)[ab]/  
     cdaccb  
  0: b  
   
 /^(?:a?b?)*$/  
12      *** Failers      *** Failers
13  No match  No match
14      dbcb      ╔cole
15  No match  No match
     a--  
 No match  
   
 /((?s)^a(.))((?m)^b$)/  
     a\nb\nc\n  
  0: a\x0ab  
  1: a\x0a  
  2: \x0a  
  3: b  
   
 /((?m)^b$)/  
     a\nb\nc\n  
  0: b  
  1: b  
   
 /(?m)^b/  
     a\nb\n  
  0: b  
   
 /(?m)^(b)/  
     a\nb\n  
  0: b  
  1: b  
   
 /((?m)^b)/  
     a\nb\n  
  0: b  
  1: b  
   
 /\n((?m)^b)/  
     a\nb\n  
  0: \x0ab  
  1: b  
   
 /((?s).)c(?!.)/  
     a\nb\nc\n  
  0: \x0ac  
  1: \x0a  
     a\nb\nc\n  
  0: \x0ac  
  1: \x0a  
   
 /((?s)b.)c(?!.)/  
     a\nb\nc\n  
  0: b\x0ac  
  1: b\x0a  
     a\nb\nc\n  
  0: b\x0ac  
  1: b\x0a  
16    
17  /^b/  /^[\W]+/
18        ╔cole
19     0: \xc9
20    
21  /()^b/  /^[\W]+/Lfr_FR
22      *** Failers      *** Failers
23     0: ***
24        ╔cole
25  No match  No match
     a\nb\nc\n  
 No match  
     a\nb\nc\n  
 No match  
   
 /((?m)^b)/  
     a\nb\nc\n  
  0: b  
  1: b  
   
 /(?(1)a|b)/  
26    
27  /(?(1)b|a)/  /[\b]/
28      a      \b
29   0: a   0: \x08
   
 /(x)?(?(1)a|b)/  
30      *** Failers      *** Failers
31  No match  No match
32      a      a
33  No match  No match
     a  
 No match  
   
 /(x)?(?(1)b|a)/  
     a  
  0: a  
   
 /()?(?(1)b|a)/  
     a  
  0: a  
34    
35  /()(?(1)b|a)/  /[\b]/Lfr_FR
36        \b
37  /()?(?(1)a|b)/   0: \x08
     a  
  0: a  
  1:  
   
 /^(\()?blah(?(1)(\)))$/  
     (blah)  
  0: (blah)  
  1: (  
  2: )  
     blah  
  0: blah  
38      *** Failers      *** Failers
39  No match  No match
40      a      a
41  No match  No match
     blah)  
 No match  
     (blah  
 No match  
   
 /^(\(+)?blah(?(1)(\)))$/  
     (blah)  
  0: (blah)  
  1: (  
  2: )  
     blah  
  0: blah  
     *** Failers  
 No match  
     blah)  
 No match  
     (blah  
 No match  
   
 /(?(?!a)a|b)/  
   
 /(?(?!a)b|a)/  
     a  
  0: a  
42    
43  /(?(?=a)b|a)/  /^\w+/
44      *** Failers      *** Failers
45  No match  No match
46      a      ╔cole
 No match  
     a  
47  No match  No match
48    
49  /(?(?=a)a|b)/  /^\w+/Lfr_FR
50      a      ╔cole
51   0: a   0: ╔cole
   
 /(?=(a+?))(\1ab)/  
     aaab  
  0: aab  
  1: a  
  2: aab  
   
 /^(?=(a+?))\1ab/  
   
 /(\w+:)+/  
     one:  
  0: one:  
  1: one:  
   
 /$(?<=^(a))/  
     a  
  0:  
  1: a  
52    
53  /(?=(a+?))(\1ab)/  /(.+)\b(.+)/
54      aaab      ╔cole
55   0: aab   0: \xc9cole
56   1: a   1: \xc9
57   2: aab   2: cole
   
 /^(?=(a+?))\1ab/  
     *** Failers  
 No match  
     aaab  
 No match  
     aaab  
 No match  
58    
59  /([\w:]+::)?(\w+)$/  /(.+)\b(.+)/Lfr_FR
     abcd  
  0: abcd  
  1: <unset>  
  2: abcd  
     xy:z:::abcd  
  0: xy:z:::abcd  
  1: xy:z:::  
  2: abcd  
   
 /^[^bcd]*(c+)/  
     aexycd  
  0: aexyc  
  1: c  
   
 /(a*)b+/  
     caab  
  0: aab  
  1: aa  
   
 /([\w:]+::)?(\w+)$/  
     abcd  
  0: abcd  
  1: <unset>  
  2: abcd  
     xy:z:::abcd  
  0: xy:z:::abcd  
  1: xy:z:::  
  2: abcd  
60      *** Failers      *** Failers
61   0: Failers   0: *** Failers
62   1: <unset>   1: ***
63   2: Failers   2: Failers
64      abcd:      ╔cole
 No match  
     abcd:  
 No match  
   
 /^[^bcd]*(c+)/  
     aexycd  
  0: aexyc  
  1: c  
   
 /(>a+)ab/  
   
 /(?>a+)b/  
     aaab  
  0: aaab  
   
 /([[:]+)/  
     a:[b]:  
  0: :[  
  1: :[  
   
 /([[=]+)/  
     a=[b]=  
  0: =[  
  1: =[  
   
 /([[.]+)/  
     a.[b].  
  0: .[  
  1: .[  
   
 /((?>a+)b)/  
     aaab  
  0: aaab  
  1: aaab  
   
 /(?>(a+))b/  
     aaab  
  0: aaab  
  1: aaa  
   
 /((?>[^()]+)|\([^()]*\))+/  
     ((abc(ade)ufh()()x  
  0: abc(ade)ufh()()x  
  1: x  
   
 /a\Z/  
     *** Failers  
 No match  
     aaab  
 No match  
     a\nb\n  
 No match  
   
 /b\Z/  
     a\nb\n  
  0: b  
   
 /b\z/  
   
 /b\Z/  
     a\nb  
  0: b  
   
 /b\z/  
     a\nb  
  0: b  
     *** Failers  
 No match  
   
 /^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/  
     a  
  0: a  
  1:  
     abc  
  0: abc  
  1:  
     a-b  
  0: a-b  
  1:  
     0-9  
  0: 0-9  
  1:  
     a.b  
  0: a.b  
  1:  
     5.6.7  
  0: 5.6.7  
  1:  
     the.quick.brown.fox  
  0: the.quick.brown.fox  
  1:  
     a100.b200.300c  
  0: a100.b200.300c  
  1:  
     12-ab.1245  
  0: 12-ab.1245  
  1:  
     ***Failers  
 No match  
     \  
 No match  
     .a  
 No match  
     -a  
 No match  
     a-  
 No match  
     a.  
 No match  
     a_b  
 No match  
     a.-  
 No match  
     a..  
 No match  
     ab..bc  
 No match  
     the.quick.brown.fox-  
 No match  
     the.quick.brown.fox.  
 No match  
     the.quick.brown.fox_  
 No match  
     the.quick.brown.fox+  
 No match  
   
 /(?>.*)(?<=(abcd|wxyz))/  
     alphabetabcd  
  0: alphabetabcd  
  1: abcd  
     endingwxyz  
  0: endingwxyz  
  1: wxyz  
     *** Failers  
 No match  
     a rather long string that doesn't end with one of them  
 No match  
   
 /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/  
     word cat dog elephant mussel cow horse canary baboon snake shark otherword  
  0: word cat dog elephant mussel cow horse canary baboon snake shark otherword  
     word cat dog elephant mussel cow horse canary baboon snake shark  
 No match  
   
 /word (?>[a-zA-Z0-9]+ ){0,30}otherword/  
     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  
 No match  
   
 /(?<=\d{3}(?!999))foo/  
     999foo  
  0: foo  
     123999foo  
  0: foo  
     *** Failers  
 No match  
     123abcfoo  
 No match  
   
 /(?<=(?!...999)\d{3})foo/  
     999foo  
  0: foo  
     123999foo  
  0: foo  
     *** Failers  
 No match  
     123abcfoo  
 No match  
   
 /(?<=\d{3}(?!999)...)foo/  
     123abcfoo  
  0: foo  
     123456foo  
  0: foo  
     *** Failers  
 No match  
     123999foo  
 No match  
   
 /(?<=\d{3}...)(?<!999)foo/  
     123abcfoo  
  0: foo  
     123456foo  
  0: foo  
     *** Failers  
 No match  
     123999foo  
 No match  
   
 /<a[\s]+href[\s]*=[\s]*          # find <a href=  
  ([\"\'])?                       # find single or double quote  
  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching  
                                  # quote, otherwise match up to next space  
 /isx  
     <a href=abcd xyz  
  0: <a href=abcd  
  1: <unset>  
  2: <unset>  
  3: abcd  
     <a href=\"abcd xyz pqr\" cats  
  0: <a href="abcd xyz pqr"  
  1: "  
  2: abcd xyz pqr  
     <a href=\'abcd xyz pqr\' cats  
  0: <a href='abcd xyz pqr'  
  1: '  
  2: abcd xyz pqr  
   
 /<a\s+href\s*=\s*                # find <a href=  
  (["'])?                         # find single or double quote  
  (?(1) (.*?)\1 | (\S+))          # if quote found, match up to next matching  
                                  # quote, otherwise match up to next space  
 /isx  
     <a href=abcd xyz  
  0: <a href=abcd  
  1: <unset>  
  2: <unset>  
  3: abcd  
     <a href=\"abcd xyz pqr\" cats  
  0: <a href="abcd xyz pqr"  
  1: "  
  2: abcd xyz pqr  
     <a href       =       \'abcd xyz pqr\' cats  
  0: <a href       =       'abcd xyz pqr'  
  1: '  
  2: abcd xyz pqr  
   
 /<a\s+href(?>\s*)=(?>\s*)        # find <a href=  
  (["'])?                         # find single or double quote  
  (?(1) (.*?)\1 | (\S+))          # if quote found, match up to next matching  
                                  # quote, otherwise match up to next space  
 /isx  
     <a href=abcd xyz  
  0: <a href=abcd  
  1: <unset>  
  2: <unset>  
  3: abcd  
     <a href=\"abcd xyz pqr\" cats  
  0: <a href="abcd xyz pqr"  
  1: "  
  2: abcd xyz pqr  
     <a href       =       \'abcd xyz pqr\' cats  
  0: <a href       =       'abcd xyz pqr'  
  1: '  
  2: abcd xyz pqr  
   
 /((Z)+|A)*/  
     ZABCDEFG  
  0: ZA  
  1: A  
  2: Z  
   
 /(Z()|A)*/  
     ZABCDEFG  
  0: ZA  
  1: A  
  2:  
   
 /(Z(())|A)*/  
     ZABCDEFG  
  0: ZA  
  1: A  
  2:  
  3:  
   
 /((?>Z)+|A)*/  
     ZABCDEFG  
  0: ZA  
  1: A  
   
 /((?>)+|A)*/  
     ZABCDEFG  
  0:  
  1:  
   
 /a*/g  
     abbab  
  0: a  
  0:  
  0:  
  0: a  
  0:  
  0:  
   
 /^[a-\d]/  
     abcde  
  0: a  
     -things  
  0: -  
     0digit  
  0: 0  
     *** Failers  
 No match  
     bcdef  
65  No match  No match
66    
67  /^[\d-a]/  /╔cole/i
68      abcde      ╔cole
69   0: a   0: \xc9cole
70      -things      *** Failers
71   0: -  No match
72      0digit      Úcole
73   0: 0  No match
74      *** Failers  
75    /╔cole/iLfr_FR
76        ╔cole
77     0: ╔cole
78        Úcole
79     0: Úcole
80    
81    /\w/IS
82    Capturing subpattern count = 0
83    No options
84    No first char
85    No need char
86    Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
87      Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
88    
89    /\w/ISLfr_FR
90    Capturing subpattern count = 0
91    No options
92    No first char
93    No need char
94    Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
95      Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
96      ¬ Á ║ └ ┴ ┬ ├ ─ ┼ Ă ă ╚ ╔ ╩ ╦ ╠ ═ ╬ ¤ đ Đ Ď Ë ď Ň Í ě ┘ ┌ █ ▄ Ţ Ů ▀ Ó ß Ô
97      Ń ń ň Š š Ŕ Ú ŕ Ű ý Ý ţ ´ ­ ˝ ˛ ˇ ˘ § ÷ ° ¨ ˙ ű Ř ř ■  
98    
99    /^[\xc8-\xc9]/iLfr_FR
100        ╔cole
101     0: ╔
102        Úcole
103     0: Ú
104    
105    /^[\xc8-\xc9]/Lfr_FR
106        ╔cole
107     0: ╔
108        *** Failers
109  No match  No match
110      bcdef      Úcole
111  No match  No match
112    
113  / End of testinput3 /  /\W+/Lfr_FR
114        >>>\xaa<<<
115     0: >>>
116        >>>\xba<<<
117     0: >>>
118    
119    /[\W]+/Lfr_FR
120        >>>\xaa<<<
121     0: >>>
122        >>>\xba<<<
123     0: >>>
124    
125    /[^[:alpha:]]+/Lfr_FR
126        >>>\xaa<<<
127     0: >>>
128        >>>\xba<<<
129     0: >>>
130    
131    /\w+/Lfr_FR
132        >>>\xaa<<<
133     0: ¬
134        >>>\xba<<<
135     0: ║
136    
137    /[\w]+/Lfr_FR
138        >>>\xaa<<<
139     0: ¬
140        >>>\xba<<<
141     0: ║
142    
143    /[[:alpha:]]+/Lfr_FR
144        >>>\xaa<<<
145     0: ¬
146        >>>\xba<<<
147     0: ║
148    
149    /[[:alpha:]][[:lower:]][[:upper:]]/DLfr_FR
150    ------------------------------------------------------------------
151      0 102 Bra 0
152      3     [A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\xff]
153     36     [a-z\xb5\xdf-\xf6\xf8-\xff]
154     69     [A-Z\xc0-\xd6\xd8-\xde]
155    102 102 Ket
156    105     End
157    ------------------------------------------------------------------
158    Capturing subpattern count = 0
159    No options
160    No first char
161    No need char
162    
163    / End of testinput3 /

Legend:
Removed from v.55  
changed lines
  Added in v.96

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12