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): 32
- ------------------------------------------------------------------
- 0 12 Bra
- 3 6 CBra 1
- 7 /i b
- 9 6 Ket
- 12 12 Ket
- 15 End
- ------------------------------------------------------------------
- /(?s)(.*X|^B)/
- Memory allocation (code space): 48
- ------------------------------------------------------------------
- 0 20 Bra
- 3 8 CBra 1
- 7 AllAny*
- 9 X
- 11 6 Alt
- 14 ^
- 15 B
- 17 14 Ket
- 20 20 Ket
- 23 End
- ------------------------------------------------------------------
- /(?s:.*X|^B)/
- Memory allocation (code space): 46
- ------------------------------------------------------------------
- 0 19 Bra
- 3 7 Bra
- 6 AllAny*
- 8 X
- 10 6 Alt
- 13 ^
- 14 B
- 16 13 Ket
- 19 19 Ket
- 22 End
- ------------------------------------------------------------------
- /^[[:alnum:]]/
- Memory allocation (code space): 50
- ------------------------------------------------------------------
- 0 21 Bra
- 3 ^
- 4 [0-9A-Za-z]
- 21 21 Ket
- 24 End
- ------------------------------------------------------------------
- /#/Ix
- Memory allocation (code space): 14
- ------------------------------------------------------------------
- 0 3 Bra
- 3 3 Ket
- 6 End
- ------------------------------------------------------------------
- Capture group count = 0
- May match empty string
- Options: extended
- Subject length lower bound = 0
- /a#/Ix
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 a
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- Capture group count = 0
- Options: extended
- First code unit = 'a'
- Subject length lower bound = 1
- /x?+/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 x?+
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /x++/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 x++
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /x{1,3}+/
- Memory allocation (code space): 24
- ------------------------------------------------------------------
- 0 8 Bra
- 3 x
- 5 x{0,2}+
- 8 8 Ket
- 11 End
- ------------------------------------------------------------------
- /(x)*+/
- Memory allocation (code space): 34
- ------------------------------------------------------------------
- 0 13 Bra
- 3 Braposzero
- 4 6 CBraPos 1
- 8 x
- 10 6 KetRpos
- 13 13 Ket
- 16 End
- ------------------------------------------------------------------
- /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
- Memory allocation (code space): 166
- ------------------------------------------------------------------
- 0 79 Bra
- 3 ^
- 4 72 CBra 1
- 8 6 CBra 2
- 12 a+
- 14 6 Ket
- 17 22 CBra 3
- 21 [ab]+?
- 39 22 Ket
- 42 22 CBra 4
- 46 [bc]+
- 64 22 Ket
- 67 6 CBra 5
- 71 \w*+
- 73 6 Ket
- 76 72 Ket
- 79 79 Ket
- 82 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): 1652
- ------------------------------------------------------------------
- 0 822 Bra
- 3 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
- 821 \b
- 822 822 Ket
- 825 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): 1632
- ------------------------------------------------------------------
- 0 812 Bra
- 3 $<.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
- 811 \b
- 812 812 Ket
- 815 End
- ------------------------------------------------------------------
- /(a(?1)b)/
- Memory allocation (code space): 42
- ------------------------------------------------------------------
- 0 17 Bra
- 3 11 CBra 1
- 7 a
- 9 3 Recurse
- 12 b
- 14 11 Ket
- 17 17 Ket
- 20 End
- ------------------------------------------------------------------
- /(a(?1)+b)/
- Memory allocation (code space): 54
- ------------------------------------------------------------------
- 0 23 Bra
- 3 17 CBra 1
- 7 a
- 9 6 SBra
- 12 3 Recurse
- 15 6 KetRmax
- 18 b
- 20 17 Ket
- 23 23 Ket
- 26 End
- ------------------------------------------------------------------
- /a(?P<name1>b|c)d(?P<longername2>e)/
- Memory allocation (code space): 68
- ------------------------------------------------------------------
- 0 30 Bra
- 3 a
- 5 6 CBra 1
- 9 b
- 11 5 Alt
- 14 c
- 16 11 Ket
- 19 d
- 21 6 CBra 2
- 25 e
- 27 6 Ket
- 30 30 Ket
- 33 End
- ------------------------------------------------------------------
- /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/
- Memory allocation (code space): 84
- ------------------------------------------------------------------
- 0 38 Bra
- 3 23 Bra
- 6 a
- 8 15 CBra 1
- 12 c
- 14 6 CBra 2
- 18 d
- 20 6 Ket
- 23 15 Ket
- 26 23 Ket
- 29 6 CBra 3
- 33 a
- 35 6 Ket
- 38 38 Ket
- 41 End
- ------------------------------------------------------------------
- /(?P<a>a)...(?P=a)bbb(?P>a)d/
- Memory allocation (code space): 64
- ------------------------------------------------------------------
- 0 28 Bra
- 3 6 CBra 1
- 7 a
- 9 6 Ket
- 12 Any
- 13 Any
- 14 Any
- 15 \1
- 17 bbb
- 23 3 Recurse
- 26 d
- 28 28 Ket
- 31 End
- ------------------------------------------------------------------
- /abc(?C255)de(?C)f/
- Memory allocation (code space): 62
- ------------------------------------------------------------------
- 0 27 Bra
- 3 abc
- 9 Callout 255 10 1
- 15 de
- 19 Callout 0 16 1
- 25 f
- 27 27 Ket
- 30 End
- ------------------------------------------------------------------
- /abcde/auto_callout
- Memory allocation (code space): 106
- ------------------------------------------------------------------
- 0 49 Bra
- 3 Callout 255 0 1
- 9 a
- 11 Callout 255 1 1
- 17 b
- 19 Callout 255 2 1
- 25 c
- 27 Callout 255 3 1
- 33 d
- 35 Callout 255 4 1
- 41 e
- 43 Callout 255 5 0
- 49 49 Ket
- 52 End
- ------------------------------------------------------------------
- /\x{100}/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{100}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /\x{1000}/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{1000}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /\x{10000}/utf
- Memory allocation (code space): 20
- ------------------------------------------------------------------
- 0 6 Bra
- 3 \x{10000}
- 6 6 Ket
- 9 End
- ------------------------------------------------------------------
- /\x{100000}/utf
- Memory allocation (code space): 20
- ------------------------------------------------------------------
- 0 6 Bra
- 3 \x{100000}
- 6 6 Ket
- 9 End
- ------------------------------------------------------------------
- /\x{10ffff}/utf
- Memory allocation (code space): 20
- ------------------------------------------------------------------
- 0 6 Bra
- 3 \x{10ffff}
- 6 6 Ket
- 9 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): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{ff}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[\x{100}]/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{100}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /\x80/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{80}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /\xff/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{ff}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf
- Memory allocation (code space): 30
- ------------------------------------------------------------------
- 0 11 Bra
- 3 A\x{2262}\x{391}.
- 11 11 Ket
- 14 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): 26
- ------------------------------------------------------------------
- 0 9 Bra
- 3 \x{d55c}\x{ad6d}\x{c5b4}
- 9 9 Ket
- 12 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): 26
- ------------------------------------------------------------------
- 0 9 Bra
- 3 \x{65e5}\x{672c}\x{8a9e}
- 9 9 Ket
- 12 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): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{100}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[Z\x{100}]/utf
- Memory allocation (code space): 60
- ------------------------------------------------------------------
- 0 26 Bra
- 3 [Z\x{100}]
- 26 26 Ket
- 29 End
- ------------------------------------------------------------------
- /^[\x{100}\E-\Q\E\x{150}]/utf
- Memory allocation (code space): 32
- ------------------------------------------------------------------
- 0 12 Bra
- 3 ^
- 4 [\x{100}-\x{150}]
- 12 12 Ket
- 15 End
- ------------------------------------------------------------------
- /^[\QĀ\E-\QŐ\E]/utf
- Memory allocation (code space): 32
- ------------------------------------------------------------------
- 0 12 Bra
- 3 ^
- 4 [\x{100}-\x{150}]
- 12 12 Ket
- 15 End
- ------------------------------------------------------------------
- /^[\QĀ\E-\QŐ\E/utf
- Failed: error 106 at offset 13: missing terminating ] for character class
- /[\p{L}]/
- Memory allocation (code space): 30
- ------------------------------------------------------------------
- 0 11 Bra
- 3 [\p{L}]
- 11 11 Ket
- 14 End
- ------------------------------------------------------------------
- /[\p{^L}]/
- Memory allocation (code space): 30
- ------------------------------------------------------------------
- 0 11 Bra
- 3 [\P{L}]
- 11 11 Ket
- 14 End
- ------------------------------------------------------------------
- /[\P{L}]/
- Memory allocation (code space): 30
- ------------------------------------------------------------------
- 0 11 Bra
- 3 [\P{L}]
- 11 11 Ket
- 14 End
- ------------------------------------------------------------------
- /[\P{^L}]/
- Memory allocation (code space): 30
- ------------------------------------------------------------------
- 0 11 Bra
- 3 [\p{L}]
- 11 11 Ket
- 14 End
- ------------------------------------------------------------------
- /[abc\p{L}\x{0660}]/utf
- Memory allocation (code space): 66
- ------------------------------------------------------------------
- 0 29 Bra
- 3 [a-c\p{L}\x{660}]
- 29 29 Ket
- 32 End
- ------------------------------------------------------------------
- /[\p{Nd}]/utf
- Memory allocation (code space): 30
- ------------------------------------------------------------------
- 0 11 Bra
- 3 [\p{Nd}]
- 11 11 Ket
- 14 End
- ------------------------------------------------------------------
- /[\p{Nd}+-]+/utf
- Memory allocation (code space): 64
- ------------------------------------------------------------------
- 0 28 Bra
- 3 [+\-\p{Nd}]++
- 28 28 Ket
- 31 End
- ------------------------------------------------------------------
- /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
- Memory allocation (code space): 36
- ------------------------------------------------------------------
- 0 14 Bra
- 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
- 14 14 Ket
- 17 End
- ------------------------------------------------------------------
- /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
- Memory allocation (code space): 36
- ------------------------------------------------------------------
- 0 14 Bra
- 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
- 14 14 Ket
- 17 End
- ------------------------------------------------------------------
- /[\x{105}-\x{109}]/i,utf
- Memory allocation (code space): 30
- ------------------------------------------------------------------
- 0 11 Bra
- 3 [\x{104}-\x{109}]
- 11 11 Ket
- 14 End
- ------------------------------------------------------------------
- /( ( (?(1)0|) )* )/x
- Memory allocation (code space): 70
- ------------------------------------------------------------------
- 0 31 Bra
- 3 25 CBra 1
- 7 Brazero
- 8 17 SCBra 2
- 12 7 Cond
- 15 1 Cond ref
- 17 0
- 19 3 Alt
- 22 10 Ket
- 25 17 KetRmax
- 28 25 Ket
- 31 31 Ket
- 34 End
- ------------------------------------------------------------------
- /( (?(1)0|)* )/x
- Memory allocation (code space): 56
- ------------------------------------------------------------------
- 0 24 Bra
- 3 18 CBra 1
- 7 Brazero
- 8 7 SCond
- 11 1 Cond ref
- 13 0
- 15 3 Alt
- 18 10 KetRmax
- 21 18 Ket
- 24 24 Ket
- 27 End
- ------------------------------------------------------------------
- /[a]/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 a
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[a]/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 a
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[\xaa]/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{aa}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[\xaa]/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 \x{aa}
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[^a]/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 [^a]
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[^a]/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 [^a]
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[^\xaa]/
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 [^\x{aa}]
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- /[^\xaa]/utf
- Memory allocation (code space): 18
- ------------------------------------------------------------------
- 0 5 Bra
- 3 [^\x{aa}]
- 5 5 Ket
- 8 End
- ------------------------------------------------------------------
- #pattern -memory
- /[^\d]/utf,ucp
- ------------------------------------------------------------------
- 0 11 Bra
- 3 [^\p{Nd}]
- 11 11 Ket
- 14 End
- ------------------------------------------------------------------
- /[[:^alpha:][:^cntrl:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 15 Bra
- 3 [\P{L}\P{Cc}]++
- 15 15 Ket
- 18 End
- ------------------------------------------------------------------
- /[[:^cntrl:][:^alpha:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 15 Bra
- 3 [\P{Cc}\P{L}]++
- 15 15 Ket
- 18 End
- ------------------------------------------------------------------
- /[[:alpha:]]+/utf,ucp
- ------------------------------------------------------------------
- 0 12 Bra
- 3 [\p{L}]++
- 12 12 Ket
- 15 End
- ------------------------------------------------------------------
- /[[:^alpha:]\S]+/utf,ucp
- ------------------------------------------------------------------
- 0 15 Bra
- 3 [\P{L}\P{Xsp}]++
- 15 15 Ket
- 18 End
- ------------------------------------------------------------------
- /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/
- ------------------------------------------------------------------
- 0 70 Bra
- 3 abc
- 9 6 CBra 1
- 13 d
- 15 5 Alt
- 18 e
- 20 11 Ket
- 23 *THEN
- 24 x
- 26 13 CBra 2
- 30 123
- 36 *THEN
- 37 4
- 39 28 Alt
- 42 567
- 48 6 CBra 3
- 52 b
- 54 5 Alt
- 57 q
- 59 11 Ket
- 62 *THEN
- 63 xx
- 67 41 Ket
- 70 70 Ket
- 73 End
- ------------------------------------------------------------------
- /(((a\2)|(a*)\g<-1>))*a?/
- ------------------------------------------------------------------
- 0 46 Bra
- 3 Brazero
- 4 37 SCBra 1
- 8 15 CBra 2
- 12 8 CBra 3
- 16 a
- 18 \2
- 20 8 Ket
- 23 15 Alt
- 26 6 CBra 4
- 30 a*
- 32 6 Ket
- 35 26 Recurse
- 38 30 Ket
- 41 37 KetRmax
- 44 a?+
- 46 46 Ket
- 49 End
- ------------------------------------------------------------------
- /((?+1)(\1))/
- ------------------------------------------------------------------
- 0 22 Bra
- 3 16 CBra 1
- 7 10 Recurse
- 10 6 CBra 2
- 14 \1
- 16 6 Ket
- 19 16 Ket
- 22 22 Ket
- 25 End
- ------------------------------------------------------------------
- "(?1)(?#?'){2}(a)"
- ------------------------------------------------------------------
- 0 18 Bra
- 3 9 Recurse
- 6 9 Recurse
- 9 6 CBra 1
- 13 a
- 15 6 Ket
- 18 18 Ket
- 21 End
- ------------------------------------------------------------------
- /.((?2)(?R)|\1|$)()/
- ------------------------------------------------------------------
- 0 33 Bra
- 3 Any
- 4 10 CBra 1
- 8 26 Recurse
- 11 0 Recurse
- 14 5 Alt
- 17 \1
- 19 4 Alt
- 22 $
- 23 19 Ket
- 26 4 CBra 2
- 30 4 Ket
- 33 33 Ket
- 36 End
- ------------------------------------------------------------------
- /.((?3)(?R)()(?2)|\1|$)()/
- ------------------------------------------------------------------
- 0 43 Bra
- 3 Any
- 4 20 CBra 1
- 8 36 Recurse
- 11 0 Recurse
- 14 4 CBra 2
- 18 4 Ket
- 21 14 Recurse
- 24 5 Alt
- 27 \1
- 29 4 Alt
- 32 $
- 33 29 Ket
- 36 4 CBra 3
- 40 4 Ket
- 43 43 Ket
- 46 End
- ------------------------------------------------------------------
- /(?1)()((((((\1++))\x85)+)|))/
- ------------------------------------------------------------------
- 0 69 Bra
- 3 6 Recurse
- 6 4 CBra 1
- 10 4 Ket
- 13 53 CBra 2
- 17 43 CBra 3
- 21 36 CBra 4
- 25 29 CBra 5
- 29 20 CBra 6
- 33 13 CBra 7
- 37 6 Once
- 40 \1+
- 43 6 Ket
- 46 13 Ket
- 49 20 Ket
- 52 \x{85}
- 54 29 KetRmax
- 57 36 Ket
- 60 3 Alt
- 63 46 Ket
- 66 53 Ket
- 69 69 Ket
- 72 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 110 Bra
- 3 97 Once
- 6 8 Cond
- 9 1 Cond ref
- 11 103 Recurse
- 14 8 Ket
- 17 8 Cond
- 20 1 Cond ref
- 22 103 Recurse
- 25 8 Ket
- 28 8 Cond
- 31 1 Cond ref
- 33 103 Recurse
- 36 8 Ket
- 39 8 Cond
- 42 1 Cond ref
- 44 103 Recurse
- 47 8 Ket
- 50 8 Cond
- 53 1 Cond ref
- 55 103 Recurse
- 58 8 Ket
- 61 8 Cond
- 64 1 Cond ref
- 66 103 Recurse
- 69 8 Ket
- 72 8 Cond
- 75 1 Cond ref
- 77 103 Recurse
- 80 8 Ket
- 83 14 SBraPos
- 86 8 SCond
- 89 1 Cond ref
- 91 103 Recurse
- 94 8 Ket
- 97 14 KetRpos
- 100 97 Ket
- 103 4 CBra 1
- 107 4 Ket
- 110 110 Ket
- 113 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 58 Bra
- 3 45 Once
- 6 5 Cond
- 9 1 Cond ref
- 11 10 Alt
- 14 a
- 16 51 Recurse
- 19 b
- 21 15 Ket
- 24 21 SBraPos
- 27 5 SCond
- 30 1 Cond ref
- 32 10 Alt
- 35 a
- 37 51 Recurse
- 40 b
- 42 15 Ket
- 45 21 KetRpos
- 48 45 Ket
- 51 4 CBra 1
- 55 4 Ket
- 58 58 Ket
- 61 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 194 Bra
- 3 61 CBra 1
- 7 3 Recurse
- 10 131 Recurse
- 13 138 Recurse
- 16 145 Recurse
- 19 152 Recurse
- 22 159 Recurse
- 25 166 Recurse
- 28 173 Recurse
- 31 180 Recurse
- 34 180 Recurse
- 37 173 Recurse
- 40 166 Recurse
- 43 159 Recurse
- 46 152 Recurse
- 49 145 Recurse
- 52 138 Recurse
- 55 131 Recurse
- 58 3 Recurse
- 61 0 Recurse
- 64 61 Ket
- 67 61 SCBra 1
- 71 3 Recurse
- 74 131 Recurse
- 77 138 Recurse
- 80 145 Recurse
- 83 152 Recurse
- 86 159 Recurse
- 89 166 Recurse
- 92 173 Recurse
- 95 180 Recurse
- 98 180 Recurse
- 101 173 Recurse
- 104 166 Recurse
- 107 159 Recurse
- 110 152 Recurse
- 113 145 Recurse
- 116 138 Recurse
- 119 131 Recurse
- 122 3 Recurse
- 125 0 Recurse
- 128 61 KetRmax
- 131 4 CBra 2
- 135 4 Ket
- 138 4 CBra 3
- 142 4 Ket
- 145 4 CBra 4
- 149 4 Ket
- 152 4 CBra 5
- 156 4 Ket
- 159 4 CBra 6
- 163 4 Ket
- 166 4 CBra 7
- 170 4 Ket
- 173 4 CBra 8
- 177 4 Ket
- 180 4 CBra 9
- 184 4 Ket
- 187 4 CBra 10
- 191 4 Ket
- 194 194 Ket
- 197 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
|