| PCRE version 3.9 02-Jan-2002 |
| |
| /(?<!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/ |
| *** Failers |
| No match |
| abcde |
| 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 |
| |
| /(?:(?-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 |
| 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/ |
| |
| /(?<!(c|d))[ab]/ |
| dbaacb |
| 0: a |
| |
| /(?<!cd)[ab]/ |
| cdaccb |
| 0: b |
| |
| /^(?:a?b?)*$/ |
| *** Failers |
| No match |
| dbcb |
| 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 |
| |
| /^b/ |
| |
| /()^b/ |
| *** Failers |
| 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)/ |
| |
| /(?(1)b|a)/ |
| a |
| 0: a |
| |
| /(x)?(?(1)a|b)/ |
| *** Failers |
| No match |
| a |
| No match |
| a |
| No match |
| |
| /(x)?(?(1)b|a)/ |
| a |
| 0: a |
| |
| /()?(?(1)b|a)/ |
| a |
| 0: a |
| |
| /()(?(1)b|a)/ |
| |
| /()?(?(1)a|b)/ |
| a |
| 0: a |
| 1: |
| |
| /^(\()?blah(?(1)(\)))$/ |
| (blah) |
| 0: (blah) |
| 1: ( |
| 2: ) |
| blah |
| 0: blah |
| *** Failers |
| No match |
| a |
| 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 |
| |
| /(?(?=a)b|a)/ |
| *** Failers |
| No match |
| a |
| No match |
| a |
| No match |
| |
| /(?(?=a)a|b)/ |
| a |
| 0: a |
| |
| /(?=(a+?))(\1ab)/ |
| aaab |
| 0: aab |
| 1: a |
| 2: aab |
| |
| /^(?=(a+?))\1ab/ |
| |
| /(\w+:)+/ |
| one: |
| 0: one: |
| 1: one: |
| |
| /$(?<=^(a))/ |
| a |
| 0: |
| 1: a |
| |
| /(?=(a+?))(\1ab)/ |
| aaab |
| 0: aab |
| 1: a |
| 2: aab |
| |
| /^(?=(a+?))\1ab/ |
| *** Failers |
| No match |
| aaab |
| No match |
| aaab |
| No match |
| |
| /([\w:]+::)?(\w+)$/ |
| 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 |
| *** Failers |
| 0: Failers |
| 1: <unset> |
| 2: Failers |
| abcd: |
| 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 |
| No match |
| |
| /^[\d-a]/ |
| abcde |
| 0: a |
| -things |
| 0: - |
| 0digit |
| 0: 0 |
| *** Failers |
| No match |
| bcdef |
| No match |
| |
| / End of testinput3 / |
| |