| # PCRE version 4.4 21-August-2003 |
| |
| # Tests taken from PCRE and modified to suit glibc regex. |
| # |
| # PCRE LICENCE |
| # ------------ |
| # |
| # PCRE is a library of functions to support regular expressions whose syntax |
| # and semantics are as close as possible to those of the Perl 5 language. |
| # |
| # Written by: Philip Hazel <ph10@cam.ac.uk> |
| # |
| # University of Cambridge Computing Service, |
| # Cambridge, England. Phone: +44 1223 334714. |
| # |
| # Copyright (c) 1997-2003 University of Cambridge |
| # |
| # Permission is granted to anyone to use this software for any purpose on any |
| # computer system, and to redistribute it freely, subject to the following |
| # restrictions: |
| # |
| # 1. This software is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| # |
| # 2. The origin of this software must not be misrepresented, either by |
| # explicit claim or by omission. In practice, this means that if you use |
| # PCRE in software that you distribute to others, commercially or |
| # otherwise, you must put a sentence like this |
| # |
| # Regular expression support is provided by the PCRE library package, |
| # which is open source software, written by Philip Hazel, and copyright |
| # by the University of Cambridge, England. |
| # |
| # somewhere reasonably visible in your documentation and in any relevant |
| # files or online help data or similar. A reference to the ftp site for |
| # the source, that is, to |
| # |
| # ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ |
| # |
| # should also be given in the documentation. However, this condition is not |
| # intended to apply to whole chains of software. If package A includes PCRE, |
| # it must acknowledge it, but if package B is software that includes package |
| # A, the condition is not imposed on package B (unless it uses PCRE |
| # independently). |
| # |
| # 3. Altered versions must be plainly marked as such, and must not be |
| # misrepresented as being the original software. |
| # |
| # 4. If PCRE is embedded in any software that is released under the GNU |
| # General Purpose Licence (GPL), or Lesser General Purpose Licence (LGPL), |
| # then the terms of that licence shall supersede any condition above with |
| # which it is incompatible. |
| # |
| # The documentation for PCRE, supplied in the "doc" directory, is distributed |
| # under the same terms as the software itself. |
| # |
| # End |
| # |
| |
| /the quick brown fox/ |
| the quick brown fox |
| 0: the quick brown fox |
| The quick brown FOX |
| No match |
| What do you know about the quick brown fox? |
| 0: the quick brown fox |
| What do you know about THE QUICK BROWN FOX? |
| No match |
| |
| /The quick brown fox/i |
| the quick brown fox |
| 0: the quick brown fox |
| The quick brown FOX |
| 0: The quick brown FOX |
| What do you know about the quick brown fox? |
| 0: the quick brown fox |
| What do you know about THE QUICK BROWN FOX? |
| 0: THE QUICK BROWN FOX |
| |
| /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/ |
| abxyzpqrrrabbxyyyypqAzz |
| 0: abxyzpqrrrabbxyyyypqAzz |
| abxyzpqrrrabbxyyyypqAzz |
| 0: abxyzpqrrrabbxyyyypqAzz |
| aabxyzpqrrrabbxyyyypqAzz |
| 0: aabxyzpqrrrabbxyyyypqAzz |
| aaabxyzpqrrrabbxyyyypqAzz |
| 0: aaabxyzpqrrrabbxyyyypqAzz |
| aaaabxyzpqrrrabbxyyyypqAzz |
| 0: aaaabxyzpqrrrabbxyyyypqAzz |
| abcxyzpqrrrabbxyyyypqAzz |
| 0: abcxyzpqrrrabbxyyyypqAzz |
| aabcxyzpqrrrabbxyyyypqAzz |
| 0: aabcxyzpqrrrabbxyyyypqAzz |
| aaabcxyzpqrrrabbxyyyypAzz |
| 0: aaabcxyzpqrrrabbxyyyypAzz |
| aaabcxyzpqrrrabbxyyyypqAzz |
| 0: aaabcxyzpqrrrabbxyyyypqAzz |
| aaabcxyzpqrrrabbxyyyypqqAzz |
| 0: aaabcxyzpqrrrabbxyyyypqqAzz |
| aaabcxyzpqrrrabbxyyyypqqqAzz |
| 0: aaabcxyzpqrrrabbxyyyypqqqAzz |
| aaabcxyzpqrrrabbxyyyypqqqqAzz |
| 0: aaabcxyzpqrrrabbxyyyypqqqqAzz |
| aaabcxyzpqrrrabbxyyyypqqqqqAzz |
| 0: aaabcxyzpqrrrabbxyyyypqqqqqAzz |
| aaabcxyzpqrrrabbxyyyypqqqqqqAzz |
| 0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz |
| aaaabcxyzpqrrrabbxyyyypqAzz |
| 0: aaaabcxyzpqrrrabbxyyyypqAzz |
| abxyzzpqrrrabbxyyyypqAzz |
| 0: abxyzzpqrrrabbxyyyypqAzz |
| aabxyzzzpqrrrabbxyyyypqAzz |
| 0: aabxyzzzpqrrrabbxyyyypqAzz |
| aaabxyzzzzpqrrrabbxyyyypqAzz |
| 0: aaabxyzzzzpqrrrabbxyyyypqAzz |
| aaaabxyzzzzpqrrrabbxyyyypqAzz |
| 0: aaaabxyzzzzpqrrrabbxyyyypqAzz |
| abcxyzzpqrrrabbxyyyypqAzz |
| 0: abcxyzzpqrrrabbxyyyypqAzz |
| aabcxyzzzpqrrrabbxyyyypqAzz |
| 0: aabcxyzzzpqrrrabbxyyyypqAzz |
| aaabcxyzzzzpqrrrabbxyyyypqAzz |
| 0: aaabcxyzzzzpqrrrabbxyyyypqAzz |
| aaaabcxyzzzzpqrrrabbxyyyypqAzz |
| 0: aaaabcxyzzzzpqrrrabbxyyyypqAzz |
| aaaabcxyzzzzpqrrrabbbxyyyypqAzz |
| 0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz |
| aaaabcxyzzzzpqrrrabbbxyyyyypqAzz |
| 0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz |
| aaabcxyzpqrrrabbxyyyypABzz |
| 0: aaabcxyzpqrrrabbxyyyypABzz |
| aaabcxyzpqrrrabbxyyyypABBzz |
| 0: aaabcxyzpqrrrabbxyyyypABBzz |
| >>>aaabxyzpqrrrabbxyyyypqAzz |
| 0: aaabxyzpqrrrabbxyyyypqAzz |
| >aaaabxyzpqrrrabbxyyyypqAzz |
| 0: aaaabxyzpqrrrabbxyyyypqAzz |
| >>>>abcxyzpqrrrabbxyyyypqAzz |
| 0: abcxyzpqrrrabbxyyyypqAzz |
| *** Failers |
| No match |
| abxyzpqrrabbxyyyypqAzz |
| No match |
| abxyzpqrrrrabbxyyyypqAzz |
| No match |
| abxyzpqrrrabxyyyypqAzz |
| No match |
| aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz |
| No match |
| aaaabcxyzzzzpqrrrabbbxyyypqAzz |
| No match |
| aaabcxyzpqrrrabbxyyyypqqqqqqqAzz |
| No match |
| |
| /^(abc){1,2}zz/ |
| abczz |
| 0: abczz |
| 1: abc |
| abcabczz |
| 0: abcabczz |
| 1: abc |
| *** Failers |
| No match |
| zz |
| No match |
| abcabcabczz |
| No match |
| >>abczz |
| No match |
| |
| /^(b+|a){1,2}c/ |
| bc |
| 0: bc |
| 1: b |
| bbc |
| 0: bbc |
| 1: bb |
| bbbc |
| 0: bbbc |
| 1: bbb |
| bac |
| 0: bac |
| 1: a |
| bbac |
| 0: bbac |
| 1: a |
| aac |
| 0: aac |
| 1: a |
| abbbbbbbbbbbc |
| 0: abbbbbbbbbbbc |
| 1: bbbbbbbbbbb |
| bbbbbbbbbbbac |
| 0: bbbbbbbbbbbac |
| 1: a |
| *** Failers |
| No match |
| aaac |
| No match |
| abbbbbbbbbbbac |
| No match |
| |
| /^[]cde]/ |
| ]thing |
| 0: ] |
| cthing |
| 0: c |
| dthing |
| 0: d |
| ething |
| 0: e |
| *** Failers |
| No match |
| athing |
| No match |
| fthing |
| No match |
| |
| /^[^]cde]/ |
| athing |
| 0: a |
| fthing |
| 0: f |
| *** Failers |
| 0: * |
| ]thing |
| No match |
| cthing |
| No match |
| dthing |
| No match |
| ething |
| No match |
| |
| /^[0-9]+$/ |
| 0 |
| 0: 0 |
| 1 |
| 0: 1 |
| 2 |
| 0: 2 |
| 3 |
| 0: 3 |
| 4 |
| 0: 4 |
| 5 |
| 0: 5 |
| 6 |
| 0: 6 |
| 7 |
| 0: 7 |
| 8 |
| 0: 8 |
| 9 |
| 0: 9 |
| 10 |
| 0: 10 |
| 100 |
| 0: 100 |
| *** Failers |
| No match |
| abc |
| No match |
| |
| /^.*nter/ |
| enter |
| 0: enter |
| inter |
| 0: inter |
| uponter |
| 0: uponter |
| |
| /^xxx[0-9]+$/ |
| xxx0 |
| 0: xxx0 |
| xxx1234 |
| 0: xxx1234 |
| *** Failers |
| No match |
| xxx |
| No match |
| |
| /^.+[0-9][0-9][0-9]$/ |
| x123 |
| 0: x123 |
| xx123 |
| 0: xx123 |
| 123456 |
| 0: 123456 |
| *** Failers |
| No match |
| 123 |
| No match |
| x1234 |
| 0: x1234 |
| |
| /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/ |
| abc!pqr=apquxz.ixr.zzz.ac.uk |
| 0: abc!pqr=apquxz.ixr.zzz.ac.uk |
| 1: abc |
| 2: pqr |
| *** Failers |
| No match |
| !pqr=apquxz.ixr.zzz.ac.uk |
| No match |
| abc!=apquxz.ixr.zzz.ac.uk |
| No match |
| abc!pqr=apquxz:ixr.zzz.ac.uk |
| No match |
| abc!pqr=apquxz.ixr.zzz.ac.ukk |
| No match |
| |
| /:/ |
| Well, we need a colon: somewhere |
| 0: : |
| *** Fail if we don't |
| No match |
| |
| /([0-9a-f:]+)$/i |
| 0abc |
| 0: 0abc |
| 1: 0abc |
| abc |
| 0: abc |
| 1: abc |
| fed |
| 0: fed |
| 1: fed |
| E |
| 0: E |
| 1: E |
| :: |
| 0: :: |
| 1: :: |
| 5f03:12C0::932e |
| 0: 5f03:12C0::932e |
| 1: 5f03:12C0::932e |
| fed def |
| 0: def |
| 1: def |
| Any old stuff |
| 0: ff |
| 1: ff |
| *** Failers |
| No match |
| 0zzz |
| No match |
| gzzz |
| No match |
| Any old rubbish |
| No match |
| |
| /^.*\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/ |
| .1.2.3 |
| 0: .1.2.3 |
| 1: 1 |
| 2: 2 |
| 3: 3 |
| A.12.123.0 |
| 0: A.12.123.0 |
| 1: 12 |
| 2: 123 |
| 3: 0 |
| *** Failers |
| No match |
| .1.2.3333 |
| No match |
| 1.2.3 |
| No match |
| 1234.2.3 |
| No match |
| |
| /^([0-9]+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/ |
| 1 IN SOA non-sp1 non-sp2( |
| 0: 1 IN SOA non-sp1 non-sp2( |
| 1: 1 |
| 2: non-sp1 |
| 3: non-sp2 |
| 1 IN SOA non-sp1 non-sp2 ( |
| 0: 1 IN SOA non-sp1 non-sp2 ( |
| 1: 1 |
| 2: non-sp1 |
| 3: non-sp2 |
| *** Failers |
| No match |
| 1IN SOA non-sp1 non-sp2( |
| No match |
| |
| /^[a-zA-Z0-9][a-zA-Z0-9-]*(\.[a-zA-Z0-9][a-zA-z0-9-]*)*\.$/ |
| a. |
| 0: a. |
| Z. |
| 0: Z. |
| 2. |
| 0: 2. |
| ab-c.pq-r. |
| 0: ab-c.pq-r. |
| 1: .pq-r |
| sxk.zzz.ac.uk. |
| 0: sxk.zzz.ac.uk. |
| 1: .uk |
| x-.y-. |
| 0: x-.y-. |
| 1: .y- |
| *** Failers |
| No match |
| -abc.peq. |
| No match |
| |
| /^\*\.[a-z]([a-z0-9-]*[a-z0-9]+)?(\.[a-z]([a-z0-9-]*[a-z0-9]+)?)*$/ |
| *.a |
| 0: *.a |
| *.b0-a |
| 0: *.b0-a |
| 1: 0-a |
| *.c3-b.c |
| 0: *.c3-b.c |
| 1: 3-b |
| 2: .c |
| *.c-a.b-c |
| 0: *.c-a.b-c |
| 1: -a |
| 2: .b-c |
| 3: -c |
| *** Failers |
| No match |
| *.0 |
| No match |
| *.a- |
| No match |
| *.a-b.c- |
| No match |
| *.c-a.0-c |
| No match |
| |
| /^[0-9a-f](\.[0-9a-f])*$/i |
| a.b.c.d |
| 0: a.b.c.d |
| 1: .d |
| A.B.C.D |
| 0: A.B.C.D |
| 1: .D |
| a.b.c.1.2.3.C |
| 0: a.b.c.1.2.3.C |
| 1: .C |
| |
| /^".*"\s*(;.*)?$/ |
| "1234" |
| 0: "1234" |
| "abcd" ; |
| 0: "abcd" ; |
| 1: ; |
| "" ; rhubarb |
| 0: "" ; rhubarb |
| 1: ; rhubarb |
| *** Failers |
| No match |
| "1234" : things |
| No match |
| |
| /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/ |
| abcdefhijklm |
| 0: abcdefhijklm |
| 1: abc |
| 2: bc |
| 3: c |
| 4: def |
| 5: ef |
| 6: f |
| 7: hij |
| 8: ij |
| 9: j |
| 10: klm |
| 11: lm |
| 12: m |
| |
| /^a*\w/ |
| z |
| 0: z |
| az |
| 0: az |
| aaaz |
| 0: aaaz |
| a |
| 0: a |
| aa |
| 0: aa |
| aaaa |
| 0: aaaa |
| a+ |
| 0: a |
| aa+ |
| 0: aa |
| |
| /^a+\w/ |
| az |
| 0: az |
| aaaz |
| 0: aaaz |
| aa |
| 0: aa |
| aaaa |
| 0: aaaa |
| aa+ |
| 0: aa |
| |
| /^[0-9]{8}\w{2,}/ |
| 1234567890 |
| 0: 1234567890 |
| 12345678ab |
| 0: 12345678ab |
| 12345678__ |
| 0: 12345678__ |
| *** Failers |
| No match |
| 1234567 |
| No match |
| |
| /^[aeiou0-9]{4,5}$/ |
| uoie |
| 0: uoie |
| 1234 |
| 0: 1234 |
| 12345 |
| 0: 12345 |
| aaaaa |
| 0: aaaaa |
| *** Failers |
| No match |
| 123456 |
| No match |
| |
| /\`(abc|def)=(\1){2,3}\'/ |
| abc=abcabc |
| 0: abc=abcabc |
| 1: abc |
| 2: abc |
| def=defdefdef |
| 0: def=defdefdef |
| 1: def |
| 2: def |
| *** Failers |
| No match |
| abc=defdef |
| No match |
| |
| /(cat(a(ract|tonic)|erpillar)) \1()2(3)/ |
| cataract cataract23 |
| 0: cataract cataract23 |
| 1: cataract |
| 2: aract |
| 3: ract |
| 4: |
| 5: 3 |
| catatonic catatonic23 |
| 0: catatonic catatonic23 |
| 1: catatonic |
| 2: atonic |
| 3: tonic |
| 4: |
| 5: 3 |
| caterpillar caterpillar23 |
| 0: caterpillar caterpillar23 |
| 1: caterpillar |
| 2: erpillar |
| 3: <unset> |
| 4: |
| 5: 3 |
| |
| |
| /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/ |
| From abcd Mon Sep 01 12:33:02 1997 |
| 0: From abcd Mon Sep 01 12:33 |
| 1: abcd |
| |
| /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}[0-9]{1,2}\s+[0-9][0-9]:[0-9][0-9]/ |
| From abcd Mon Sep 01 12:33:02 1997 |
| 0: From abcd Mon Sep 01 12:33 |
| 1: Sep |
| From abcd Mon Sep 1 12:33:02 1997 |
| 0: From abcd Mon Sep 1 12:33 |
| 1: Sep |
| *** Failers |
| No match |
| From abcd Sep 01 12:33:02 1997 |
| No match |
| |
| /^(a)\1{2,3}(.)/ |
| aaab |
| 0: aaab |
| 1: a |
| 2: b |
| aaaab |
| 0: aaaab |
| 1: a |
| 2: b |
| aaaaab |
| 0: aaaaa |
| 1: a |
| 2: a |
| aaaaaab |
| 0: aaaaa |
| 1: a |
| 2: a |
| |
| /^[ab]{1,3}(ab*|b)/ |
| aabbbbb |
| 0: aabbbbb |
| 1: abbbbb |
| |
| /^(cow|)\1(bell)/ |
| cowcowbell |
| 0: cowcowbell |
| 1: cow |
| 2: bell |
| bell |
| 0: bell |
| 1: |
| 2: bell |
| *** Failers |
| No match |
| cowbell |
| No match |
| |
| /^(a|)\1+b/ |
| aab |
| 0: aab |
| 1: a |
| aaaab |
| 0: aaaab |
| 1: a |
| b |
| 0: b |
| 1: |
| *** Failers |
| No match |
| ab |
| No match |
| |
| /^(a|)\1{2}b/ |
| aaab |
| 0: aaab |
| 1: a |
| b |
| 0: b |
| 1: |
| *** Failers |
| No match |
| ab |
| No match |
| aab |
| No match |
| aaaab |
| No match |
| |
| /^(a|)\1{2,3}b/ |
| aaab |
| 0: aaab |
| 1: a |
| aaaab |
| 0: aaaab |
| 1: a |
| b |
| 0: b |
| 1: |
| *** Failers |
| No match |
| ab |
| No match |
| aab |
| No match |
| aaaaab |
| No match |
| |
| /ab{1,3}bc/ |
| abbbbc |
| 0: abbbbc |
| abbbc |
| 0: abbbc |
| abbc |
| 0: abbc |
| *** Failers |
| No match |
| abc |
| No match |
| abbbbbc |
| No match |
| |
| /([^.]*)\.([^:]*):[T ]+(.*)/ |
| track1.title:TBlah blah blah |
| 0: track1.title:TBlah blah blah |
| 1: track1 |
| 2: title |
| 3: Blah blah blah |
| |
| /([^.]*)\.([^:]*):[T ]+(.*)/i |
| track1.title:TBlah blah blah |
| 0: track1.title:TBlah blah blah |
| 1: track1 |
| 2: title |
| 3: Blah blah blah |
| |
| /([^.]*)\.([^:]*):[t ]+(.*)/i |
| track1.title:TBlah blah blah |
| 0: track1.title:TBlah blah blah |
| 1: track1 |
| 2: title |
| 3: Blah blah blah |
| |
| /^abc$/ |
| abc |
| 0: abc |
| *** Failers |
| No match |
| |
| /[-az]+/ |
| az- |
| 0: az- |
| *** Failers |
| 0: a |
| b |
| No match |
| |
| /[az-]+/ |
| za- |
| 0: za- |
| *** Failers |
| 0: a |
| b |
| No match |
| |
| /[a-z]+/ |
| abcdxyz |
| 0: abcdxyz |
| |
| /[0-9-]+/ |
| 12-34 |
| 0: 12-34 |
| *** Failers |
| No match |
| aaa |
| No match |
| |
| /(abc)\1/i |
| abcabc |
| 0: abcabc |
| 1: abc |
| ABCabc |
| 0: ABCabc |
| 1: ABC |
| abcABC |
| 0: abcABC |
| 1: abc |
| |
| /a{0}bc/ |
| bc |
| 0: bc |
| |
| /^([^a])([^b])([^c]*)([^d]{3,4})/ |
| baNOTccccd |
| 0: baNOTcccc |
| 1: b |
| 2: a |
| 3: NOT |
| 4: cccc |
| baNOTcccd |
| 0: baNOTccc |
| 1: b |
| 2: a |
| 3: NOT |
| 4: ccc |
| baNOTccd |
| 0: baNOTcc |
| 1: b |
| 2: a |
| 3: NO |
| 4: Tcc |
| bacccd |
| 0: baccc |
| 1: b |
| 2: a |
| 3: |
| 4: ccc |
| *** Failers |
| 0: *** Failers |
| 1: * |
| 2: * |
| 3: * Fail |
| 4: ers |
| anything |
| No match |
| baccd |
| No match |
| |
| /[^a]/ |
| Abc |
| 0: A |
| |
| /[^a]/i |
| Abc |
| 0: b |
| |
| /[^a]+/ |
| AAAaAbc |
| 0: AAA |
| |
| /[^a]+/i |
| AAAaAbc |
| 0: bc |
| |
| /[^k]$/ |
| abc |
| 0: c |
| *** Failers |
| 0: s |
| abk |
| No match |
| |
| /[^k]{2,3}$/ |
| abc |
| 0: abc |
| kbc |
| 0: bc |
| kabc |
| 0: abc |
| *** Failers |
| 0: ers |
| abk |
| No match |
| akb |
| No match |
| akk |
| No match |
| |
| /^[0-9]{8,}@.+[^k]$/ |
| 12345678@a.b.c.d |
| 0: 12345678@a.b.c.d |
| 123456789@x.y.z |
| 0: 123456789@x.y.z |
| *** Failers |
| No match |
| 12345678@x.y.uk |
| No match |
| 1234567@a.b.c.d |
| No match |
| |
| /(a)\1{8,}/ |
| aaaaaaaaa |
| 0: aaaaaaaaa |
| 1: a |
| aaaaaaaaaa |
| 0: aaaaaaaaaa |
| 1: a |
| *** Failers |
| No match |
| aaaaaaa |
| No match |
| |
| /[^a]/ |
| aaaabcd |
| 0: b |
| aaAabcd |
| 0: A |
| |
| /[^a]/i |
| aaaabcd |
| 0: b |
| aaAabcd |
| 0: b |
| |
| /[^az]/ |
| aaaabcd |
| 0: b |
| aaAabcd |
| 0: A |
| |
| /[^az]/i |
| aaaabcd |
| 0: b |
| aaAabcd |
| 0: b |
| |
| /P[^*]TAIRE[^*]{1,6}LL/ |
| xxxxxxxxxxxPSTAIREISLLxxxxxxxxx |
| 0: PSTAIREISLL |
| |
| /P[^*]TAIRE[^*]{1,}LL/ |
| xxxxxxxxxxxPSTAIREISLLxxxxxxxxx |
| 0: PSTAIREISLL |
| |
| /(\.[0-9][0-9][1-9]?)[0-9]+/ |
| 1.230003938 |
| 0: .230003938 |
| 1: .23 |
| 1.875000282 |
| 0: .875000282 |
| 1: .875 |
| 1.235 |
| 0: .235 |
| 1: .23 |
| |
| /\b(foo)\s+(\w+)/i |
| Food is on the foo table |
| 0: foo table |
| 1: foo |
| 2: table |
| |
| /foo(.*)bar/ |
| The food is under the bar in the barn. |
| 0: food is under the bar in the bar |
| 1: d is under the bar in the |
| |
| /(.*)([0-9]*)/ |
| I have 2 numbers: 53147 |
| 0: I have 2 numbers: 53147 |
| 1: I have 2 numbers: 53147 |
| 2: |
| |
| /(.*)([0-9]+)/ |
| I have 2 numbers: 53147 |
| 0: I have 2 numbers: 53147 |
| 1: I have 2 numbers: 5314 |
| 2: 7 |
| |
| /(.*)([0-9]+)$/ |
| I have 2 numbers: 53147 |
| 0: I have 2 numbers: 53147 |
| 1: I have 2 numbers: 5314 |
| 2: 7 |
| |
| /(.*)\b([0-9]+)$/ |
| I have 2 numbers: 53147 |
| 0: I have 2 numbers: 53147 |
| 1: I have 2 numbers: |
| 2: 53147 |
| |
| /(.*[^0-9])([0-9]+)$/ |
| I have 2 numbers: 53147 |
| 0: I have 2 numbers: 53147 |
| 1: I have 2 numbers: |
| 2: 53147 |
| |
| /[[:digit:]][[:digit:]]\/[[:digit:]][[:digit:]]\/[[:digit:]][[:digit:]][[:digit:]][[:digit:]]/ |
| 01/01/2000 |
| 0: 01/01/2000 |
| |
| /^(a){0,0}/ |
| bcd |
| 0: |
| abc |
| 0: |
| aab |
| 0: |
| |
| /^(a){0,1}/ |
| bcd |
| 0: |
| abc |
| 0: a |
| 1: a |
| aab |
| 0: a |
| 1: a |
| |
| /^(a){0,2}/ |
| bcd |
| 0: |
| abc |
| 0: a |
| 1: a |
| aab |
| 0: aa |
| 1: a |
| |
| /^(a){0,3}/ |
| bcd |
| 0: |
| abc |
| 0: a |
| 1: a |
| aab |
| 0: aa |
| 1: a |
| aaa |
| 0: aaa |
| 1: a |
| |
| /^(a){0,}/ |
| bcd |
| 0: |
| abc |
| 0: a |
| 1: a |
| aab |
| 0: aa |
| 1: a |
| aaa |
| 0: aaa |
| 1: a |
| aaaaaaaa |
| 0: aaaaaaaa |
| 1: a |
| |
| /^(a){1,1}/ |
| bcd |
| No match |
| abc |
| 0: a |
| 1: a |
| aab |
| 0: a |
| 1: a |
| |
| /^(a){1,2}/ |
| bcd |
| No match |
| abc |
| 0: a |
| 1: a |
| aab |
| 0: aa |
| 1: a |
| |
| /^(a){1,3}/ |
| bcd |
| No match |
| abc |
| 0: a |
| 1: a |
| aab |
| 0: aa |
| 1: a |
| aaa |
| 0: aaa |
| 1: a |
| |
| /^(a){1,}/ |
| bcd |
| No match |
| abc |
| 0: a |
| 1: a |
| aab |
| 0: aa |
| 1: a |
| aaa |
| 0: aaa |
| 1: a |
| aaaaaaaa |
| 0: aaaaaaaa |
| 1: a |
| |
| /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/ |
| 123456654321 |
| 0: 123456654321 |
| |
| /^[[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]][[:digit:]]/ |
| 123456654321 |
| 0: 123456654321 |
| |
| /^[abc]{12}/ |
| abcabcabcabc |
| 0: abcabcabcabc |
| |
| /^[a-c]{12}/ |
| abcabcabcabc |
| 0: abcabcabcabc |
| |
| /^(a|b|c){12}/ |
| abcabcabcabc |
| 0: abcabcabcabc |
| 1: c |
| |
| /^[abcdefghijklmnopqrstuvwxy0123456789]/ |
| n |
| 0: n |
| *** Failers |
| No match |
| z |
| No match |
| |
| /abcde{0,0}/ |
| abcd |
| 0: abcd |
| *** Failers |
| No match |
| abce |
| No match |
| |
| /ab[cd]{0,0}e/ |
| abe |
| 0: abe |
| *** Failers |
| No match |
| abcde |
| No match |
| |
| /ab(c){0,0}d/ |
| abd |
| 0: abd |
| *** Failers |
| No match |
| abcd |
| No match |
| |
| /a(b*)/ |
| a |
| 0: a |
| 1: |
| ab |
| 0: ab |
| 1: b |
| abbbb |
| 0: abbbb |
| 1: bbbb |
| *** Failers |
| 0: a |
| 1: |
| bbbbb |
| No match |
| |
| /ab[0-9]{0}e/ |
| abe |
| 0: abe |
| *** Failers |
| No match |
| ab1e |
| No match |
| |
| /(A|B)*CD/ |
| CD |
| 0: CD |
| |
| /(AB)*\1/ |
| ABABAB |
| 0: ABABAB |
| 1: AB |
| |
| /([0-9]+)(\w)/ |
| 12345a |
| 0: 12345a |
| 1: 12345 |
| 2: a |
| 12345+ |
| 0: 12345 |
| 1: 1234 |
| 2: 5 |
| |
| /(abc|)+/ |
| abc |
| 0: abc |
| 1: abc |
| abcabc |
| 0: abcabc |
| 1: abc |
| abcabcabc |
| 0: abcabcabc |
| 1: abc |
| xyz |
| 0: |
| 1: |
| |
| /([a]*)*/ |
| a |
| 0: a |
| 1: a |
| aaaaa |
| 0: aaaaa |
| 1: aaaaa |
| |
| /([ab]*)*/ |
| a |
| 0: a |
| 1: a |
| b |
| 0: b |
| 1: b |
| ababab |
| 0: ababab |
| 1: ababab |
| aaaabcde |
| 0: aaaab |
| 1: aaaab |
| bbbb |
| 0: bbbb |
| 1: bbbb |
| |
| /([^a]*)*/ |
| b |
| 0: b |
| 1: b |
| bbbb |
| 0: bbbb |
| 1: bbbb |
| aaa |
| 0: |
| |
| /([^ab]*)*/ |
| cccc |
| 0: cccc |
| 1: cccc |
| abab |
| 0: |
| |
| /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+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?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$/ |
| 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[]]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 |
| |
| /[0-9]/ |
| 1 |
| 0: 1 |
| |
| /[^0-9]/ |
| - |
| 0: - |
| *** Failers |
| 0: * |
| - |
| 0: - |
| 1 |
| No match |
| |
| /ab|cd/ |
| abc |
| 0: ab |
| abcd |
| 0: ab |
| |
| /()ef/ |
| def |
| 0: ef |
| 1: |
| |
| /a\(b/ |
| a(b |
| 0: a(b |
| |
| /a\(*b/ |
| ab |
| 0: ab |
| a((b |
| 0: a((b |
| |
| /((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+|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 |
| |
| /(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))))))))))\9/ |
| 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 |
| |
| /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 |
| |
| /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 |
| *** Failers |
| No match |
| ABC |
| No match |
| ABQ |
| No match |
| |
| /ab+bc/i |
| ABBBBC |
| 0: ABBBBC |
| |
| /^abc$/i |
| ABC |
| 0: ABC |
| *** Failers |
| No match |
| ABBBBC |
| No match |
| ABCC |
| No match |
| |
| /^abc/i |
| ABCC |
| 0: ABC |
| |
| /abc$/i |
| AABC |
| 0: ABC |
| |
| /^/i |
| ABC |
| 0: |
| |
| /$/i |
| ABC |
| 0: |
| |
| /a.c/i |
| ABC |
| 0: ABC |
| AXC |
| 0: AXC |
| |
| /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[]]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))/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+|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 |
| |
| /[^ab]*/i |
| CDE |
| 0: CDE |
| |
| /([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))))))))))\9/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 |
| |
| /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 |
| |
| /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 |
| |
| /((foo)|(bar))*/ |
| foobar |
| 0: foobar |
| 1: bar |
| 2: foo |
| 3: bar |
| |
| /^(.+)?B/ |
| AB |
| 0: AB |
| 1: A |
| |
| /^([^a-z])|(\^)$/ |
| . |
| 0: . |
| 1: . |
| |
| /^[<>]&/ |
| <&OUT |
| 0: <& |
| |
| /^(){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 |
| |
| /(ab)[0-9]\1/i |
| Ab4ab |
| 0: Ab4ab |
| 1: Ab |
| ab4Ab |
| 0: ab4Ab |
| 1: ab |
| |
| /foo\w*[0-9]{4}baz/ |
| foobar1234baz |
| 0: foobar1234baz |
| |
| /(\w+:)+/ |
| one: |
| 0: one: |
| 1: one: |
| |
| /((\w|:)+::)?(\w+)$/ |
| abcd |
| 0: abcd |
| 1: <unset> |
| 2: <unset> |
| 3: abcd |
| xy:z:::abcd |
| 0: xy:z:::abcd |
| 1: xy:z::: |
| 2: : |
| 3: abcd |
| |
| /^[^bcd]*(c+)/ |
| aexycd |
| 0: aexyc |
| 1: c |
| |
| /(a*)b+/ |
| caab |
| 0: aab |
| 1: aa |
| |
| /((\w|:)+::)?(\w+)$/ |
| abcd |
| 0: abcd |
| 1: <unset> |
| 2: <unset> |
| 3: abcd |
| xy:z:::abcd |
| 0: xy:z:::abcd |
| 1: xy:z::: |
| 2: : |
| 3: abcd |
| *** Failers |
| 0: Failers |
| 1: <unset> |
| 2: <unset> |
| 3: Failers |
| abcd: |
| No match |
| abcd: |
| No match |
| |
| /^[^bcd]*(c+)/ |
| aexycd |
| 0: aexyc |
| 1: c |
| |
| /((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: |
| |
| /(.*)[0-9]+\1/ |
| abc123abc |
| 0: abc123abc |
| 1: abc |
| abc123bc |
| 0: bc123bc |
| 1: bc |
| |
| /((.*))[0-9]+\1/ |
| abc123abc |
| 0: abc123abc |
| 1: abc |
| 2: abc |
| abc123bc |
| 0: bc123bc |
| 1: bc |
| 2: bc |
| |
| /^a{2,5}$/ |
| aa |
| 0: aa |
| aaa |
| 0: aaa |
| aaaa |
| 0: aaaa |
| aaaaa |
| 0: aaaaa |
| *** Failers |
| No match |
| a |
| No match |
| b |
| No match |
| aaaaab |
| No match |
| aaaaaa |