1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018 |
- # 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): 21
- ------------------------------------------------------------------
- 0 16 Bra
- 4 8 CBra 1
- 10 /i b
- 12 8 Ket
- 16 16 Ket
- 20 End
- ------------------------------------------------------------------
- /(?s)(.*X|^B)/
- Memory allocation (code space): 30
- ------------------------------------------------------------------
- 0 25 Bra
- 4 10 CBra 1
- 10 AllAny*
- 12 X
- 14 7 Alt
- 18 ^
- 19 B
- 21 17 Ket
- 25 25 Ket
- 29 End
- ------------------------------------------------------------------
- /(?s:.*X|^B)/
- Memory allocation (code space): 28
- ------------------------------------------------------------------
- 0 23 Bra
- 4 8 Bra
- 8 AllAny*
- 10 X
- 12 7 Alt
- 16 ^
- 17 B
- 19 15 Ket
- 23 23 Ket
- 27 End
- ------------------------------------------------------------------
- /^[[:alnum:]]/
- Memory allocation (code space): 43
- ------------------------------------------------------------------
- 0 38 Bra
- 4 ^
- 5 [0-9A-Za-z]
- 38 38 Ket
- 42 End
- ------------------------------------------------------------------
- /#/Ix
- Memory allocation (code space): 9
- ------------------------------------------------------------------
- 0 4 Bra
- 4 4 Ket
- 8 End
- ------------------------------------------------------------------
- Capture group count = 0
- May match empty string
- Options: extended
- Subject length lower bound = 0
- /a#/Ix
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 a
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- Capture group count = 0
- Options: extended
- First code unit = 'a'
- Subject length lower bound = 1
- /x?+/
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 x?+
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- /x++/
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 x++
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- /x{1,3}+/
- Memory allocation (code space): 15
- ------------------------------------------------------------------
- 0 10 Bra
- 4 x
- 6 x{0,2}+
- 10 10 Ket
- 14 End
- ------------------------------------------------------------------
- /(x)*+/
- Memory allocation (code space): 22
- ------------------------------------------------------------------
- 0 17 Bra
- 4 Braposzero
- 5 8 CBraPos 1
- 11 x
- 13 8 KetRpos
- 17 17 Ket
- 21 End
- ------------------------------------------------------------------
- /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
- Memory allocation (code space): 132
- ------------------------------------------------------------------
- 0 127 Bra
- 4 ^
- 5 118 CBra 1
- 11 8 CBra 2
- 17 a+
- 19 8 Ket
- 23 40 CBra 3
- 29 [ab]+?
- 63 40 Ket
- 67 40 CBra 4
- 73 [bc]+
- 107 40 Ket
- 111 8 CBra 5
- 117 \w*+
- 119 8 Ket
- 123 118 Ket
- 127 127 Ket
- 131 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): 828
- ------------------------------------------------------------------
- 0 823 Bra
- 4 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
- 822 \b
- 823 823 Ket
- 827 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): 818
- ------------------------------------------------------------------
- 0 813 Bra
- 4 $<.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
- 812 \b
- 813 813 Ket
- 817 End
- ------------------------------------------------------------------
- /(a(?1)b)/
- Memory allocation (code space): 27
- ------------------------------------------------------------------
- 0 22 Bra
- 4 14 CBra 1
- 10 a
- 12 4 Recurse
- 16 b
- 18 14 Ket
- 22 22 Ket
- 26 End
- ------------------------------------------------------------------
- /(a(?1)+b)/
- Memory allocation (code space): 35
- ------------------------------------------------------------------
- 0 30 Bra
- 4 22 CBra 1
- 10 a
- 12 8 SBra
- 16 4 Recurse
- 20 8 KetRmax
- 24 b
- 26 22 Ket
- 30 30 Ket
- 34 End
- ------------------------------------------------------------------
- /a(?P<name1>b|c)d(?P<longername2>e)/
- Memory allocation (code space): 43
- ------------------------------------------------------------------
- 0 38 Bra
- 4 a
- 6 8 CBra 1
- 12 b
- 14 6 Alt
- 18 c
- 20 14 Ket
- 24 d
- 26 8 CBra 2
- 32 e
- 34 8 Ket
- 38 38 Ket
- 42 End
- ------------------------------------------------------------------
- /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/
- Memory allocation (code space): 55
- ------------------------------------------------------------------
- 0 50 Bra
- 4 30 Bra
- 8 a
- 10 20 CBra 1
- 16 c
- 18 8 CBra 2
- 24 d
- 26 8 Ket
- 30 20 Ket
- 34 30 Ket
- 38 8 CBra 3
- 44 a
- 46 8 Ket
- 50 50 Ket
- 54 End
- ------------------------------------------------------------------
- /(?P<a>a)...(?P=a)bbb(?P>a)d/
- Memory allocation (code space): 39
- ------------------------------------------------------------------
- 0 34 Bra
- 4 8 CBra 1
- 10 a
- 12 8 Ket
- 16 Any
- 17 Any
- 18 Any
- 19 \1
- 22 bbb
- 28 4 Recurse
- 32 d
- 34 34 Ket
- 38 End
- ------------------------------------------------------------------
- /abc(?C255)de(?C)f/
- Memory allocation (code space): 37
- ------------------------------------------------------------------
- 0 32 Bra
- 4 abc
- 10 Callout 255 10 1
- 18 de
- 22 Callout 0 16 1
- 30 f
- 32 32 Ket
- 36 End
- ------------------------------------------------------------------
- /abcde/auto_callout
- Memory allocation (code space): 67
- ------------------------------------------------------------------
- 0 62 Bra
- 4 Callout 255 0 1
- 12 a
- 14 Callout 255 1 1
- 22 b
- 24 Callout 255 2 1
- 32 c
- 34 Callout 255 3 1
- 42 d
- 44 Callout 255 4 1
- 52 e
- 54 Callout 255 5 0
- 62 62 Ket
- 66 End
- ------------------------------------------------------------------
- /\x{100}/utf
- Memory allocation (code space): 12
- ------------------------------------------------------------------
- 0 7 Bra
- 4 \x{100}
- 7 7 Ket
- 11 End
- ------------------------------------------------------------------
- /\x{1000}/utf
- Memory allocation (code space): 13
- ------------------------------------------------------------------
- 0 8 Bra
- 4 \x{1000}
- 8 8 Ket
- 12 End
- ------------------------------------------------------------------
- /\x{10000}/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 9 Bra
- 4 \x{10000}
- 9 9 Ket
- 13 End
- ------------------------------------------------------------------
- /\x{100000}/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 9 Bra
- 4 \x{100000}
- 9 9 Ket
- 13 End
- ------------------------------------------------------------------
- /\x{10ffff}/utf
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 9 Bra
- 4 \x{10ffff}
- 9 9 Ket
- 13 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): 12
- ------------------------------------------------------------------
- 0 7 Bra
- 4 \x{ff}
- 7 7 Ket
- 11 End
- ------------------------------------------------------------------
- /[\x{100}]/utf
- Memory allocation (code space): 12
- ------------------------------------------------------------------
- 0 7 Bra
- 4 \x{100}
- 7 7 Ket
- 11 End
- ------------------------------------------------------------------
- /\x80/utf
- Memory allocation (code space): 12
- ------------------------------------------------------------------
- 0 7 Bra
- 4 \x{80}
- 7 7 Ket
- 11 End
- ------------------------------------------------------------------
- /\xff/utf
- Memory allocation (code space): 12
- ------------------------------------------------------------------
- 0 7 Bra
- 4 \x{ff}
- 7 7 Ket
- 11 End
- ------------------------------------------------------------------
- /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf
- Memory allocation (code space): 20
- ------------------------------------------------------------------
- 0 15 Bra
- 4 A\x{2262}\x{391}.
- 15 15 Ket
- 19 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): 21
- ------------------------------------------------------------------
- 0 16 Bra
- 4 \x{d55c}\x{ad6d}\x{c5b4}
- 16 16 Ket
- 20 End
- ------------------------------------------------------------------
- Capture group count = 0
- Options: utf
- First code unit = \xed
- Last code unit = \xb4
- Subject length lower bound = 3
- /\x{65e5}\x{672c}\x{8a9e}/I,utf
- Memory allocation (code space): 21
- ------------------------------------------------------------------
- 0 16 Bra
- 4 \x{65e5}\x{672c}\x{8a9e}
- 16 16 Ket
- 20 End
- ------------------------------------------------------------------
- Capture group count = 0
- Options: utf
- First code unit = \xe6
- Last code unit = \x9e
- Subject length lower bound = 3
- /[\x{100}]/utf
- Memory allocation (code space): 12
- ------------------------------------------------------------------
- 0 7 Bra
- 4 \x{100}
- 7 7 Ket
- 11 End
- ------------------------------------------------------------------
- /[Z\x{100}]/utf
- Memory allocation (code space): 50
- ------------------------------------------------------------------
- 0 45 Bra
- 4 [Z\x{100}]
- 45 45 Ket
- 49 End
- ------------------------------------------------------------------
- /^[\x{100}\E-\Q\E\x{150}]/utf
- Memory allocation (code space): 21
- ------------------------------------------------------------------
- 0 16 Bra
- 4 ^
- 5 [\x{100}-\x{150}]
- 16 16 Ket
- 20 End
- ------------------------------------------------------------------
- /^[\QĀ\E-\QŐ\E]/utf
- Memory allocation (code space): 21
- ------------------------------------------------------------------
- 0 16 Bra
- 4 ^
- 5 [\x{100}-\x{150}]
- 16 16 Ket
- 20 End
- ------------------------------------------------------------------
- /^[\QĀ\E-\QŐ\E/utf
- Failed: error 106 at offset 15: missing terminating ] for character class
- /[\p{L}]/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 13 Bra
- 4 [\p{L}]
- 13 13 Ket
- 17 End
- ------------------------------------------------------------------
- /[\p{^L}]/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 13 Bra
- 4 [\P{L}]
- 13 13 Ket
- 17 End
- ------------------------------------------------------------------
- /[\P{L}]/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 13 Bra
- 4 [\P{L}]
- 13 13 Ket
- 17 End
- ------------------------------------------------------------------
- /[\P{^L}]/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 13 Bra
- 4 [\p{L}]
- 13 13 Ket
- 17 End
- ------------------------------------------------------------------
- /[abc\p{L}\x{0660}]/utf
- Memory allocation (code space): 53
- ------------------------------------------------------------------
- 0 48 Bra
- 4 [a-c\p{L}\x{660}]
- 48 48 Ket
- 52 End
- ------------------------------------------------------------------
- /[\p{Nd}]/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 13 Bra
- 4 [\p{Nd}]
- 13 13 Ket
- 17 End
- ------------------------------------------------------------------
- /[\p{Nd}+-]+/utf
- Memory allocation (code space): 51
- ------------------------------------------------------------------
- 0 46 Bra
- 4 [+\-\p{Nd}]++
- 46 46 Ket
- 50 End
- ------------------------------------------------------------------
- /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
- Memory allocation (code space): 27
- ------------------------------------------------------------------
- 0 22 Bra
- 4 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
- 22 22 Ket
- 26 End
- ------------------------------------------------------------------
- /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
- Memory allocation (code space): 27
- ------------------------------------------------------------------
- 0 22 Bra
- 4 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
- 22 22 Ket
- 26 End
- ------------------------------------------------------------------
- /[\x{105}-\x{109}]/i,utf
- Memory allocation (code space): 20
- ------------------------------------------------------------------
- 0 15 Bra
- 4 [\x{104}-\x{109}]
- 15 15 Ket
- 19 End
- ------------------------------------------------------------------
- /( ( (?(1)0|) )* )/x
- Memory allocation (code space): 47
- ------------------------------------------------------------------
- 0 42 Bra
- 4 34 CBra 1
- 10 Brazero
- 11 23 SCBra 2
- 17 9 Cond
- 21 1 Cond ref
- 24 0
- 26 4 Alt
- 30 13 Ket
- 34 23 KetRmax
- 38 34 Ket
- 42 42 Ket
- 46 End
- ------------------------------------------------------------------
- /( (?(1)0|)* )/x
- Memory allocation (code space): 37
- ------------------------------------------------------------------
- 0 32 Bra
- 4 24 CBra 1
- 10 Brazero
- 11 9 SCond
- 15 1 Cond ref
- 18 0
- 20 4 Alt
- 24 13 KetRmax
- 28 24 Ket
- 32 32 Ket
- 36 End
- ------------------------------------------------------------------
- /[a]/
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 a
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- /[a]/utf
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 a
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- /[\xaa]/
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 \x{aa}
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- /[\xaa]/utf
- Memory allocation (code space): 12
- ------------------------------------------------------------------
- 0 7 Bra
- 4 \x{aa}
- 7 7 Ket
- 11 End
- ------------------------------------------------------------------
- /[^a]/
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 [^a]
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- /[^a]/utf
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 [^a]
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- /[^\xaa]/
- Memory allocation (code space): 11
- ------------------------------------------------------------------
- 0 6 Bra
- 4 [^\x{aa}]
- 6 6 Ket
- 10 End
- ------------------------------------------------------------------
- /[^\xaa]/utf
- Memory allocation (code space): 12
- ------------------------------------------------------------------
- 0 7 Bra
- 4 [^\x{aa}]
- 7 7 Ket
- 11 End
- ------------------------------------------------------------------
- #pattern -memory
- /[^\d]/utf,ucp
- ------------------------------------------------------------------
- 0 13 Bra
- 4 [^\p{Nd}]
- 13 13 Ket
- 17 End
- ------------------------------------------------------------------
- /[[:^alpha:][:^cntrl:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 17 Bra
- 4 [\P{L}\P{Cc}]++
- 17 17 Ket
- 21 End
- ------------------------------------------------------------------
- /[[:^cntrl:][:^alpha:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 17 Bra
- 4 [\P{Cc}\P{L}]++
- 17 17 Ket
- 21 End
- ------------------------------------------------------------------
- /[[:alpha:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 14 Bra
- 4 [\p{L}]++
- 14 14 Ket
- 18 End
- ------------------------------------------------------------------
- /[[:^alpha:]\S]+/utf,ucp
- ------------------------------------------------------------------
- 0 17 Bra
- 4 [\P{L}\P{Xsp}]++
- 17 17 Ket
- 21 End
- ------------------------------------------------------------------
- /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/
- ------------------------------------------------------------------
- 0 83 Bra
- 4 abc
- 10 8 CBra 1
- 16 d
- 18 6 Alt
- 22 e
- 24 14 Ket
- 28 *THEN
- 29 x
- 31 15 CBra 2
- 37 123
- 43 *THEN
- 44 4
- 46 33 Alt
- 50 567
- 56 8 CBra 3
- 62 b
- 64 6 Alt
- 68 q
- 70 14 Ket
- 74 *THEN
- 75 xx
- 79 48 Ket
- 83 83 Ket
- 87 End
- ------------------------------------------------------------------
- /(((a\2)|(a*)\g<-1>))*a?/
- ------------------------------------------------------------------
- 0 62 Bra
- 4 Brazero
- 5 51 SCBra 1
- 11 21 CBra 2
- 17 11 CBra 3
- 23 a
- 25 \2
- 28 11 Ket
- 32 20 Alt
- 36 8 CBra 4
- 42 a*
- 44 8 Ket
- 48 36 Recurse
- 52 41 Ket
- 56 51 KetRmax
- 60 a?+
- 62 62 Ket
- 66 End
- ------------------------------------------------------------------
- /((?+1)(\1))/
- ------------------------------------------------------------------
- 0 31 Bra
- 4 23 CBra 1
- 10 14 Recurse
- 14 9 CBra 2
- 20 \1
- 23 9 Ket
- 27 23 Ket
- 31 31 Ket
- 35 End
- ------------------------------------------------------------------
- "(?1)(?#?'){2}(a)"
- ------------------------------------------------------------------
- 0 24 Bra
- 4 12 Recurse
- 8 12 Recurse
- 12 8 CBra 1
- 18 a
- 20 8 Ket
- 24 24 Ket
- 28 End
- ------------------------------------------------------------------
- /.((?2)(?R)|\1|$)()/
- ------------------------------------------------------------------
- 0 45 Bra
- 4 Any
- 5 14 CBra 1
- 11 35 Recurse
- 15 0 Recurse
- 19 7 Alt
- 23 \1
- 26 5 Alt
- 30 $
- 31 26 Ket
- 35 6 CBra 2
- 41 6 Ket
- 45 45 Ket
- 49 End
- ------------------------------------------------------------------
- /.((?3)(?R)()(?2)|\1|$)()/
- ------------------------------------------------------------------
- 0 59 Bra
- 4 Any
- 5 28 CBra 1
- 11 49 Recurse
- 15 0 Recurse
- 19 6 CBra 2
- 25 6 Ket
- 29 19 Recurse
- 33 7 Alt
- 37 \1
- 40 5 Alt
- 44 $
- 45 40 Ket
- 49 6 CBra 3
- 55 6 Ket
- 59 59 Ket
- 63 End
- ------------------------------------------------------------------
- /(?1)()((((((\1++))\x85)+)|))/
- ------------------------------------------------------------------
- 0 96 Bra
- 4 8 Recurse
- 8 6 CBra 1
- 14 6 Ket
- 18 74 CBra 2
- 24 60 CBra 3
- 30 50 CBra 4
- 36 40 CBra 5
- 42 28 CBra 6
- 48 18 CBra 7
- 54 8 Once
- 58 \1+
- 62 8 Ket
- 66 18 Ket
- 70 28 Ket
- 74 \x{85}
- 76 40 KetRmax
- 80 50 Ket
- 84 4 Alt
- 88 64 Ket
- 92 74 Ket
- 96 96 Ket
- 100 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
- # 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 150 Bra
- 4 132 Once
- 8 11 Cond
- 12 1 Cond ref
- 15 140 Recurse
- 19 11 Ket
- 23 11 Cond
- 27 1 Cond ref
- 30 140 Recurse
- 34 11 Ket
- 38 11 Cond
- 42 1 Cond ref
- 45 140 Recurse
- 49 11 Ket
- 53 11 Cond
- 57 1 Cond ref
- 60 140 Recurse
- 64 11 Ket
- 68 11 Cond
- 72 1 Cond ref
- 75 140 Recurse
- 79 11 Ket
- 83 11 Cond
- 87 1 Cond ref
- 90 140 Recurse
- 94 11 Ket
- 98 11 Cond
- 102 1 Cond ref
- 105 140 Recurse
- 109 11 Ket
- 113 19 SBraPos
- 117 11 SCond
- 121 1 Cond ref
- 124 140 Recurse
- 128 11 Ket
- 132 19 KetRpos
- 136 132 Ket
- 140 6 CBra 1
- 146 6 Ket
- 150 150 Ket
- 154 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 76 Bra
- 4 58 Once
- 8 7 Cond
- 12 1 Cond ref
- 15 12 Alt
- 19 a
- 21 66 Recurse
- 25 b
- 27 19 Ket
- 31 27 SBraPos
- 35 7 SCond
- 39 1 Cond ref
- 42 12 Alt
- 46 a
- 48 66 Recurse
- 52 b
- 54 19 Ket
- 58 27 KetRpos
- 62 58 Ket
- 66 6 CBra 1
- 72 6 Ket
- 76 76 Ket
- 80 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 266 Bra
- 4 82 CBra 1
- 10 4 Recurse
- 14 176 Recurse
- 18 186 Recurse
- 22 196 Recurse
- 26 206 Recurse
- 30 216 Recurse
- 34 226 Recurse
- 38 236 Recurse
- 42 246 Recurse
- 46 246 Recurse
- 50 236 Recurse
- 54 226 Recurse
- 58 216 Recurse
- 62 206 Recurse
- 66 196 Recurse
- 70 186 Recurse
- 74 176 Recurse
- 78 4 Recurse
- 82 0 Recurse
- 86 82 Ket
- 90 82 SCBra 1
- 96 4 Recurse
- 100 176 Recurse
- 104 186 Recurse
- 108 196 Recurse
- 112 206 Recurse
- 116 216 Recurse
- 120 226 Recurse
- 124 236 Recurse
- 128 246 Recurse
- 132 246 Recurse
- 136 236 Recurse
- 140 226 Recurse
- 144 216 Recurse
- 148 206 Recurse
- 152 196 Recurse
- 156 186 Recurse
- 160 176 Recurse
- 164 4 Recurse
- 168 0 Recurse
- 172 82 KetRmax
- 176 6 CBra 2
- 182 6 Ket
- 186 6 CBra 3
- 192 6 Ket
- 196 6 CBra 4
- 202 6 Ket
- 206 6 CBra 5
- 212 6 Ket
- 216 6 CBra 6
- 222 6 Ket
- 226 6 CBra 7
- 232 6 Ket
- 236 6 CBra 8
- 242 6 Ket
- 246 6 CBra 9
- 252 6 Ket
- 256 6 CBra 10
- 262 6 Ket
- 266 266 Ket
- 270 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
- # End of testinput8
|