1027 lines
28 KiB
Plaintext
1027 lines
28 KiB
Plaintext
# 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
|
|
------------------------------------------------------------------
|
|
Capturing subpattern 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
|
|
------------------------------------------------------------------
|
|
Capturing subpattern 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 Once
|
|
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
|
|
------------------------------------------------------------------
|
|
Capturing subpattern 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
|
|
------------------------------------------------------------------
|
|
Capturing subpattern 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
|
|
------------------------------------------------------------------
|
|
Capturing subpattern 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 52 Bra
|
|
3 Brazero
|
|
4 43 SCBra 1
|
|
8 36 Once
|
|
11 15 CBra 2
|
|
15 8 CBra 3
|
|
19 a
|
|
21 \2
|
|
23 8 Ket
|
|
26 15 Alt
|
|
29 6 CBra 4
|
|
33 a*
|
|
35 6 Ket
|
|
38 29 Recurse
|
|
41 30 Ket
|
|
44 36 Ket
|
|
47 43 KetRmax
|
|
50 a?+
|
|
52 52 Ket
|
|
55 End
|
|
------------------------------------------------------------------
|
|
|
|
/((?+1)(\1))/
|
|
------------------------------------------------------------------
|
|
0 28 Bra
|
|
3 22 Once
|
|
6 16 CBra 1
|
|
10 13 Recurse
|
|
13 6 CBra 2
|
|
17 \1
|
|
19 6 Ket
|
|
22 16 Ket
|
|
25 22 Ket
|
|
28 28 Ket
|
|
31 End
|
|
------------------------------------------------------------------
|
|
|
|
"(?1)(?#?'){2}(a)"
|
|
------------------------------------------------------------------
|
|
0 30 Bra
|
|
3 6 Once
|
|
6 21 Recurse
|
|
9 6 Ket
|
|
12 6 Once
|
|
15 21 Recurse
|
|
18 6 Ket
|
|
21 6 CBra 1
|
|
25 a
|
|
27 6 Ket
|
|
30 30 Ket
|
|
33 End
|
|
------------------------------------------------------------------
|
|
|
|
/.((?2)(?R)|\1|$)()/
|
|
------------------------------------------------------------------
|
|
0 39 Bra
|
|
3 Any
|
|
4 25 Once
|
|
7 10 CBra 1
|
|
11 32 Recurse
|
|
14 0 Recurse
|
|
17 5 Alt
|
|
20 \1
|
|
22 4 Alt
|
|
25 $
|
|
26 19 Ket
|
|
29 25 Ket
|
|
32 4 CBra 2
|
|
36 4 Ket
|
|
39 39 Ket
|
|
42 End
|
|
------------------------------------------------------------------
|
|
|
|
/.((?3)(?R)()(?2)|\1|$)()/
|
|
------------------------------------------------------------------
|
|
0 49 Bra
|
|
3 Any
|
|
4 35 Once
|
|
7 20 CBra 1
|
|
11 42 Recurse
|
|
14 0 Recurse
|
|
17 4 CBra 2
|
|
21 4 Ket
|
|
24 17 Recurse
|
|
27 5 Alt
|
|
30 \1
|
|
32 4 Alt
|
|
35 $
|
|
36 29 Ket
|
|
39 35 Ket
|
|
42 4 CBra 3
|
|
46 4 Ket
|
|
49 49 Ket
|
|
52 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
|
|
------------------------------------------------------------------
|
|
Capturing subpattern 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
|
|
------------------------------------------------------------------
|
|
Capturing subpattern 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
|
|
------------------------------------------------------------------
|
|
Capturing subpattern 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
|
|
|
|
# End of testinput8
|