123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020 |
- # There are two sorts of patterns in this test. A number of them are
- # representative patterns whose lengths and offsets are checked. This is just a
- # doublecheck test to ensure the sizes don't go horribly wrong when something
- # is changed. The operation of these patterns is checked in other tests.
- #
- # This file also contains tests whose output varies with code unit size and/or
- # link size. Unicode support is required for these tests. There are separate
- # output files for each code unit size and link size.
- #pattern fullbincode,memory
- /((?i)b)/
- Memory allocation (code space): 24
- ------------------------------------------------------------------
- 0 9 Bra
- 2 5 CBra 1
- 5 /i b
- 7 5 Ket
- 9 9 Ket
- 11 End
- ------------------------------------------------------------------
- /(?s)(.*X|^B)/
- Memory allocation (code space): 38
- ------------------------------------------------------------------
- 0 16 Bra
- 2 7 CBra 1
- 5 AllAny*
- 7 X
- 9 5 Alt
- 11 ^
- 12 B
- 14 12 Ket
- 16 16 Ket
- 18 End
- ------------------------------------------------------------------
- /(?s:.*X|^B)/
- Memory allocation (code space): 36
- ------------------------------------------------------------------
- 0 15 Bra
- 2 6 Bra
- 4 AllAny*
- 6 X
- 8 5 Alt
- 10 ^
- 11 B
- 13 11 Ket
- 15 15 Ket
- 17 End
- ------------------------------------------------------------------
- /^[[:alnum:]]/
- Memory allocation (code space): 46
- ------------------------------------------------------------------
- 0 20 Bra
- 2 ^
- 3 [0-9A-Za-z]
- 20 20 Ket
- 22 End
- ------------------------------------------------------------------
- /#/Ix
- Memory allocation (code space): 10
- ------------------------------------------------------------------
- 0 2 Bra
- 2 2 Ket
- 4 End
- ------------------------------------------------------------------
- Capture group count = 0
- May match empty string
- Options: extended
- Subject length lower bound = 0
- /a#/Ix
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 a
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- Capture group count = 0
- Options: extended
- First code unit = 'a'
- Subject length lower bound = 1
- /x?+/
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 x?+
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /x++/
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 x++
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /x{1,3}+/
- Memory allocation (code space): 20
- ------------------------------------------------------------------
- 0 7 Bra
- 2 x
- 4 x{0,2}+
- 7 7 Ket
- 9 End
- ------------------------------------------------------------------
- /(x)*+/
- Memory allocation (code space): 26
- ------------------------------------------------------------------
- 0 10 Bra
- 2 Braposzero
- 3 5 CBraPos 1
- 6 x
- 8 5 KetRpos
- 10 10 Ket
- 12 End
- ------------------------------------------------------------------
- /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
- Memory allocation (code space): 142
- ------------------------------------------------------------------
- 0 68 Bra
- 2 ^
- 3 63 CBra 1
- 6 5 CBra 2
- 9 a+
- 11 5 Ket
- 13 21 CBra 3
- 16 [ab]+?
- 34 21 Ket
- 36 21 CBra 4
- 39 [bc]+
- 57 21 Ket
- 59 5 CBra 5
- 62 \w*+
- 64 5 Ket
- 66 63 Ket
- 68 68 Ket
- 70 End
- ------------------------------------------------------------------
- "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b"
- Memory allocation (code space): 1648
- ------------------------------------------------------------------
- 0 821 Bra
- 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
- 820 \b
- 821 821 Ket
- 823 End
- ------------------------------------------------------------------
- "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b"
- Memory allocation (code space): 1628
- ------------------------------------------------------------------
- 0 811 Bra
- 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
- 810 \b
- 811 811 Ket
- 813 End
- ------------------------------------------------------------------
- /(a(?1)b)/
- Memory allocation (code space): 32
- ------------------------------------------------------------------
- 0 13 Bra
- 2 9 CBra 1
- 5 a
- 7 2 Recurse
- 9 b
- 11 9 Ket
- 13 13 Ket
- 15 End
- ------------------------------------------------------------------
- /(a(?1)+b)/
- Memory allocation (code space): 40
- ------------------------------------------------------------------
- 0 17 Bra
- 2 13 CBra 1
- 5 a
- 7 4 SBra
- 9 2 Recurse
- 11 4 KetRmax
- 13 b
- 15 13 Ket
- 17 17 Ket
- 19 End
- ------------------------------------------------------------------
- /a(?P<name1>b|c)d(?P<longername2>e)/
- Memory allocation (code space): 54
- ------------------------------------------------------------------
- 0 24 Bra
- 2 a
- 4 5 CBra 1
- 7 b
- 9 4 Alt
- 11 c
- 13 9 Ket
- 15 d
- 17 5 CBra 2
- 20 e
- 22 5 Ket
- 24 24 Ket
- 26 End
- ------------------------------------------------------------------
- /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/
- Memory allocation (code space): 64
- ------------------------------------------------------------------
- 0 29 Bra
- 2 18 Bra
- 4 a
- 6 12 CBra 1
- 9 c
- 11 5 CBra 2
- 14 d
- 16 5 Ket
- 18 12 Ket
- 20 18 Ket
- 22 5 CBra 3
- 25 a
- 27 5 Ket
- 29 29 Ket
- 31 End
- ------------------------------------------------------------------
- /(?P<a>a)...(?P=a)bbb(?P>a)d/
- Memory allocation (code space): 54
- ------------------------------------------------------------------
- 0 24 Bra
- 2 5 CBra 1
- 5 a
- 7 5 Ket
- 9 Any
- 10 Any
- 11 Any
- 12 \1
- 14 bbb
- 20 2 Recurse
- 22 d
- 24 24 Ket
- 26 End
- ------------------------------------------------------------------
- /abc(?C255)de(?C)f/
- Memory allocation (code space): 50
- ------------------------------------------------------------------
- 0 22 Bra
- 2 abc
- 8 Callout 255 10 1
- 12 de
- 16 Callout 0 16 1
- 20 f
- 22 22 Ket
- 24 End
- ------------------------------------------------------------------
- /abcde/auto_callout
- Memory allocation (code space): 78
- ------------------------------------------------------------------
- 0 36 Bra
- 2 Callout 255 0 1
- 6 a
- 8 Callout 255 1 1
- 12 b
- 14 Callout 255 2 1
- 18 c
- 20 Callout 255 3 1
- 24 d
- 26 Callout 255 4 1
- 30 e
- 32 Callout 255 5 0
- 36 36 Ket
- 38 End
- ------------------------------------------------------------------
- /\x{100}/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{100}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /\x{1000}/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{1000}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /\x{10000}/utf
- Memory allocation (code space): 16
- ------------------------------------------------------------------
- 0 5 Bra
- 2 \x{10000}
- 5 5 Ket
- 7 End
- ------------------------------------------------------------------
- /\x{100000}/utf
- Memory allocation (code space): 16
- ------------------------------------------------------------------
- 0 5 Bra
- 2 \x{100000}
- 5 5 Ket
- 7 End
- ------------------------------------------------------------------
- /\x{10ffff}/utf
- Memory allocation (code space): 16
- ------------------------------------------------------------------
- 0 5 Bra
- 2 \x{10ffff}
- 5 5 Ket
- 7 End
- ------------------------------------------------------------------
- /\x{110000}/utf
- Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
- /[\x{ff}]/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{ff}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[\x{100}]/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{100}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /\x80/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{80}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /\xff/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{ff}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf
- Memory allocation (code space): 26
- ------------------------------------------------------------------
- 0 10 Bra
- 2 A\x{2262}\x{391}.
- 10 10 Ket
- 12 End
- ------------------------------------------------------------------
- Capture group count = 0
- Options: utf
- First code unit = 'A'
- Last code unit = '.'
- Subject length lower bound = 4
- /\x{D55c}\x{ad6d}\x{C5B4}/I,utf
- Memory allocation (code space): 22
- ------------------------------------------------------------------
- 0 8 Bra
- 2 \x{d55c}\x{ad6d}\x{c5b4}
- 8 8 Ket
- 10 End
- ------------------------------------------------------------------
- Capture group count = 0
- Options: utf
- First code unit = \x{d55c}
- Last code unit = \x{c5b4}
- Subject length lower bound = 3
- /\x{65e5}\x{672c}\x{8a9e}/I,utf
- Memory allocation (code space): 22
- ------------------------------------------------------------------
- 0 8 Bra
- 2 \x{65e5}\x{672c}\x{8a9e}
- 8 8 Ket
- 10 End
- ------------------------------------------------------------------
- Capture group count = 0
- Options: utf
- First code unit = \x{65e5}
- Last code unit = \x{8a9e}
- Subject length lower bound = 3
- /[\x{100}]/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{100}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[Z\x{100}]/utf
- Memory allocation (code space): 54
- ------------------------------------------------------------------
- 0 24 Bra
- 2 [Z\x{100}]
- 24 24 Ket
- 26 End
- ------------------------------------------------------------------
- /^[\x{100}\E-\Q\E\x{150}]/utf
- Memory allocation (code space): 26
- ------------------------------------------------------------------
- 0 10 Bra
- 2 ^
- 3 [\x{100}-\x{150}]
- 10 10 Ket
- 12 End
- ------------------------------------------------------------------
- /^[\QĀ\E-\QŐ\E]/utf
- Memory allocation (code space): 26
- ------------------------------------------------------------------
- 0 10 Bra
- 2 ^
- 3 [\x{100}-\x{150}]
- 10 10 Ket
- 12 End
- ------------------------------------------------------------------
- /^[\QĀ\E-\QŐ\E/utf
- Failed: error 106 at offset 13: missing terminating ] for character class
- /[\p{L}]/
- Memory allocation (code space): 24
- ------------------------------------------------------------------
- 0 9 Bra
- 2 [\p{L}]
- 9 9 Ket
- 11 End
- ------------------------------------------------------------------
- /[\p{^L}]/
- Memory allocation (code space): 24
- ------------------------------------------------------------------
- 0 9 Bra
- 2 [\P{L}]
- 9 9 Ket
- 11 End
- ------------------------------------------------------------------
- /[\P{L}]/
- Memory allocation (code space): 24
- ------------------------------------------------------------------
- 0 9 Bra
- 2 [\P{L}]
- 9 9 Ket
- 11 End
- ------------------------------------------------------------------
- /[\P{^L}]/
- Memory allocation (code space): 24
- ------------------------------------------------------------------
- 0 9 Bra
- 2 [\p{L}]
- 9 9 Ket
- 11 End
- ------------------------------------------------------------------
- /[abc\p{L}\x{0660}]/utf
- Memory allocation (code space): 60
- ------------------------------------------------------------------
- 0 27 Bra
- 2 [a-c\p{L}\x{660}]
- 27 27 Ket
- 29 End
- ------------------------------------------------------------------
- /[\p{Nd}]/utf
- Memory allocation (code space): 24
- ------------------------------------------------------------------
- 0 9 Bra
- 2 [\p{Nd}]
- 9 9 Ket
- 11 End
- ------------------------------------------------------------------
- /[\p{Nd}+-]+/utf
- Memory allocation (code space): 58
- ------------------------------------------------------------------
- 0 26 Bra
- 2 [+\-\p{Nd}]++
- 26 26 Ket
- 28 End
- ------------------------------------------------------------------
- /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
- Memory allocation (code space): 32
- ------------------------------------------------------------------
- 0 13 Bra
- 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
- 13 13 Ket
- 15 End
- ------------------------------------------------------------------
- /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
- Memory allocation (code space): 32
- ------------------------------------------------------------------
- 0 13 Bra
- 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
- 13 13 Ket
- 15 End
- ------------------------------------------------------------------
- /[\x{105}-\x{109}]/i,utf
- Memory allocation (code space): 24
- ------------------------------------------------------------------
- 0 9 Bra
- 2 [\x{104}-\x{109}]
- 9 9 Ket
- 11 End
- ------------------------------------------------------------------
- /( ( (?(1)0|) )* )/x
- Memory allocation (code space): 52
- ------------------------------------------------------------------
- 0 23 Bra
- 2 19 CBra 1
- 5 Brazero
- 6 13 SCBra 2
- 9 6 Cond
- 11 1 Cond ref
- 13 0
- 15 2 Alt
- 17 8 Ket
- 19 13 KetRmax
- 21 19 Ket
- 23 23 Ket
- 25 End
- ------------------------------------------------------------------
- /( (?(1)0|)* )/x
- Memory allocation (code space): 42
- ------------------------------------------------------------------
- 0 18 Bra
- 2 14 CBra 1
- 5 Brazero
- 6 6 SCond
- 8 1 Cond ref
- 10 0
- 12 2 Alt
- 14 8 KetRmax
- 16 14 Ket
- 18 18 Ket
- 20 End
- ------------------------------------------------------------------
- /[a]/
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 a
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[a]/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 a
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[\xaa]/
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{aa}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[\xaa]/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 \x{aa}
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[^a]/
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 [^a]
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[^a]/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 [^a]
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[^\xaa]/
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 [^\x{aa}]
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- /[^\xaa]/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 4 Bra
- 2 [^\x{aa}]
- 4 4 Ket
- 6 End
- ------------------------------------------------------------------
- #pattern -memory
- /[^\d]/utf,ucp
- ------------------------------------------------------------------
- 0 9 Bra
- 2 [^\p{Nd}]
- 9 9 Ket
- 11 End
- ------------------------------------------------------------------
- /[[:^alpha:][:^cntrl:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 13 Bra
- 2 [\P{L}\P{Cc}]++
- 13 13 Ket
- 15 End
- ------------------------------------------------------------------
- /[[:^cntrl:][:^alpha:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 13 Bra
- 2 [\P{Cc}\P{L}]++
- 13 13 Ket
- 15 End
- ------------------------------------------------------------------
- /[[:alpha:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 10 Bra
- 2 [\p{L}]++
- 10 10 Ket
- 12 End
- ------------------------------------------------------------------
- /[[:^alpha:]\S]+/utf,ucp
- ------------------------------------------------------------------
- 0 13 Bra
- 2 [\P{L}\P{Xsp}]++
- 13 13 Ket
- 15 End
- ------------------------------------------------------------------
- /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/
- ------------------------------------------------------------------
- 0 60 Bra
- 2 abc
- 8 5 CBra 1
- 11 d
- 13 4 Alt
- 15 e
- 17 9 Ket
- 19 *THEN
- 20 x
- 22 12 CBra 2
- 25 123
- 31 *THEN
- 32 4
- 34 24 Alt
- 36 567
- 42 5 CBra 3
- 45 b
- 47 4 Alt
- 49 q
- 51 9 Ket
- 53 *THEN
- 54 xx
- 58 36 Ket
- 60 60 Ket
- 62 End
- ------------------------------------------------------------------
- /(((a\2)|(a*)\g<-1>))*a?/
- ------------------------------------------------------------------
- 0 35 Bra
- 2 Brazero
- 3 28 SCBra 1
- 6 12 CBra 2
- 9 7 CBra 3
- 12 a
- 14 \2
- 16 7 Ket
- 18 11 Alt
- 20 5 CBra 4
- 23 a*
- 25 5 Ket
- 27 20 Recurse
- 29 23 Ket
- 31 28 KetRmax
- 33 a?+
- 35 35 Ket
- 37 End
- ------------------------------------------------------------------
- /((?+1)(\1))/
- ------------------------------------------------------------------
- 0 16 Bra
- 2 12 CBra 1
- 5 7 Recurse
- 7 5 CBra 2
- 10 \1
- 12 5 Ket
- 14 12 Ket
- 16 16 Ket
- 18 End
- ------------------------------------------------------------------
- "(?1)(?#?'){2}(a)"
- ------------------------------------------------------------------
- 0 13 Bra
- 2 6 Recurse
- 4 6 Recurse
- 6 5 CBra 1
- 9 a
- 11 5 Ket
- 13 13 Ket
- 15 End
- ------------------------------------------------------------------
- /.((?2)(?R)|\1|$)()/
- ------------------------------------------------------------------
- 0 24 Bra
- 2 Any
- 3 7 CBra 1
- 6 19 Recurse
- 8 0 Recurse
- 10 4 Alt
- 12 \1
- 14 3 Alt
- 16 $
- 17 14 Ket
- 19 3 CBra 2
- 22 3 Ket
- 24 24 Ket
- 26 End
- ------------------------------------------------------------------
- /.((?3)(?R)()(?2)|\1|$)()/
- ------------------------------------------------------------------
- 0 31 Bra
- 2 Any
- 3 14 CBra 1
- 6 26 Recurse
- 8 0 Recurse
- 10 3 CBra 2
- 13 3 Ket
- 15 10 Recurse
- 17 4 Alt
- 19 \1
- 21 3 Alt
- 23 $
- 24 21 Ket
- 26 3 CBra 3
- 29 3 Ket
- 31 31 Ket
- 33 End
- ------------------------------------------------------------------
- /(?1)()((((((\1++))\x85)+)|))/
- ------------------------------------------------------------------
- 0 50 Bra
- 2 4 Recurse
- 4 3 CBra 1
- 7 3 Ket
- 9 39 CBra 2
- 12 32 CBra 3
- 15 27 CBra 4
- 18 22 CBra 5
- 21 15 CBra 6
- 24 10 CBra 7
- 27 5 Once
- 29 \1+
- 32 5 Ket
- 34 10 Ket
- 36 15 Ket
- 38 \x{85}
- 40 22 KetRmax
- 42 27 Ket
- 44 2 Alt
- 46 34 Ket
- 48 39 Ket
- 50 50 Ket
- 52 End
- ------------------------------------------------------------------
- # Check the absolute limit on nesting (?| etc. This varies with code unit
- # width because the workspace is a different number of bytes. It will fail
- # with link size 2 in 8-bit and 16-bit but not in 32-bit.
- /(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|
- )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
- /parens_nest_limit=1000,-fullbincode
- Failed: error 184 at offset 1129: (?| and/or (?J: or (?x: parentheses are too deeply nested
- # Use "expand" to create some very long patterns with nested parentheses, in
- # order to test workspace overflow. Again, this varies with code unit width,
- # and even when it fails in two modes, the error offset differs. It also varies
- # with link size - hence multiple tests with different values.
- /(?'ABC'\[[bar](]{792}*THEN:\[A]{255}\[)]{793}/expand,-fullbincode,parens_nest_limit=1000
- /(?'ABC'\[[bar](]{793}*THEN:\[A]{255}\[)]{794}/expand,-fullbincode,parens_nest_limit=1000
- /(?'ABC'\[[bar](]{1793}*THEN:\[A]{255}\[)]{1794}/expand,-fullbincode,parens_nest_limit=2000
- Failed: error 186 at offset 12820: regular expression is too complicated
- /(?(1)(?1)){8,}+()/debug
- ------------------------------------------------------------------
- 0 79 Bra
- 2 70 Once
- 4 6 Cond
- 6 1 Cond ref
- 8 74 Recurse
- 10 6 Ket
- 12 6 Cond
- 14 1 Cond ref
- 16 74 Recurse
- 18 6 Ket
- 20 6 Cond
- 22 1 Cond ref
- 24 74 Recurse
- 26 6 Ket
- 28 6 Cond
- 30 1 Cond ref
- 32 74 Recurse
- 34 6 Ket
- 36 6 Cond
- 38 1 Cond ref
- 40 74 Recurse
- 42 6 Ket
- 44 6 Cond
- 46 1 Cond ref
- 48 74 Recurse
- 50 6 Ket
- 52 6 Cond
- 54 1 Cond ref
- 56 74 Recurse
- 58 6 Ket
- 60 10 SBraPos
- 62 6 SCond
- 64 1 Cond ref
- 66 74 Recurse
- 68 6 Ket
- 70 10 KetRpos
- 72 70 Ket
- 74 3 CBra 1
- 77 3 Ket
- 79 79 Ket
- 81 End
- ------------------------------------------------------------------
- Capture group count = 1
- Max back reference = 1
- May match empty string
- Subject length lower bound = 0
- abcd
- 0:
- 1:
- /(?(1)|a(?1)b){2,}+()/debug
- ------------------------------------------------------------------
- 0 43 Bra
- 2 34 Once
- 4 4 Cond
- 6 1 Cond ref
- 8 8 Alt
- 10 a
- 12 38 Recurse
- 14 b
- 16 12 Ket
- 18 16 SBraPos
- 20 4 SCond
- 22 1 Cond ref
- 24 8 Alt
- 26 a
- 28 38 Recurse
- 30 b
- 32 12 Ket
- 34 16 KetRpos
- 36 34 Ket
- 38 3 CBra 1
- 41 3 Ket
- 43 43 Ket
- 45 End
- ------------------------------------------------------------------
- Capture group count = 1
- Max back reference = 1
- May match empty string
- Subject length lower bound = 0
- abcde
- No match
- /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug
- ------------------------------------------------------------------
- 0 133 Bra
- 2 41 CBra 1
- 5 2 Recurse
- 7 88 Recurse
- 9 93 Recurse
- 11 98 Recurse
- 13 103 Recurse
- 15 108 Recurse
- 17 113 Recurse
- 19 118 Recurse
- 21 123 Recurse
- 23 123 Recurse
- 25 118 Recurse
- 27 113 Recurse
- 29 108 Recurse
- 31 103 Recurse
- 33 98 Recurse
- 35 93 Recurse
- 37 88 Recurse
- 39 2 Recurse
- 41 0 Recurse
- 43 41 Ket
- 45 41 SCBra 1
- 48 2 Recurse
- 50 88 Recurse
- 52 93 Recurse
- 54 98 Recurse
- 56 103 Recurse
- 58 108 Recurse
- 60 113 Recurse
- 62 118 Recurse
- 64 123 Recurse
- 66 123 Recurse
- 68 118 Recurse
- 70 113 Recurse
- 72 108 Recurse
- 74 103 Recurse
- 76 98 Recurse
- 78 93 Recurse
- 80 88 Recurse
- 82 2 Recurse
- 84 0 Recurse
- 86 41 KetRmax
- 88 3 CBra 2
- 91 3 Ket
- 93 3 CBra 3
- 96 3 Ket
- 98 3 CBra 4
- 101 3 Ket
- 103 3 CBra 5
- 106 3 Ket
- 108 3 CBra 6
- 111 3 Ket
- 113 3 CBra 7
- 116 3 Ket
- 118 3 CBra 8
- 121 3 Ket
- 123 3 CBra 9
- 126 3 Ket
- 128 3 CBra 10
- 131 3 Ket
- 133 133 Ket
- 135 End
- ------------------------------------------------------------------
- Capture group count = 10
- May match empty string
- Subject length lower bound = 0
- /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
- Failed: error 114 at offset 509: missing closing parenthesis
- /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
- #pattern -fullbincode
- /\[()]{65535}/expand
- Failed: error 120 at offset 131070: regular expression is too large
- # End of testinput8
|