Blame posix/PCRE.tests

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