xref: /aosp_15_r20/external/pcre/testdata/testinput11 (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi# This set of tests is for the 16-bit and 32-bit libraries' basic (non-UTF)
2*22dc650dSSadaf Ebrahimi# features that are not compatible with the 8-bit library, or which give
3*22dc650dSSadaf Ebrahimi# different output in 16-bit or 32-bit mode. The output for the two widths is
4*22dc650dSSadaf Ebrahimi# different, so they have separate output files.
5*22dc650dSSadaf Ebrahimi
6*22dc650dSSadaf Ebrahimi#forbid_utf
7*22dc650dSSadaf Ebrahimi#newline_default LF ANY ANYCRLF
8*22dc650dSSadaf Ebrahimi
9*22dc650dSSadaf Ebrahimi/[^\x{c4}]/IB
10*22dc650dSSadaf Ebrahimi
11*22dc650dSSadaf Ebrahimi/\x{100}/I
12*22dc650dSSadaf Ebrahimi
13*22dc650dSSadaf Ebrahimi/  (?: [\040\t] |  \(
14*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
15*22dc650dSSadaf Ebrahimi\)  )*                          # optional leading comment
16*22dc650dSSadaf Ebrahimi(?:    (?:
17*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
18*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
19*22dc650dSSadaf Ebrahimi|
20*22dc650dSSadaf Ebrahimi" (?:                      # opening quote...
21*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
22*22dc650dSSadaf Ebrahimi|                     #    or
23*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff]           #   Escaped something (something != CR)
24*22dc650dSSadaf Ebrahimi)* "  # closing quote
25*22dc650dSSadaf Ebrahimi)                    # initial word
26*22dc650dSSadaf Ebrahimi(?:  (?: [\040\t] |  \(
27*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
28*22dc650dSSadaf Ebrahimi\)  )*  \.  (?: [\040\t] |  \(
29*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
30*22dc650dSSadaf Ebrahimi\)  )*   (?:
31*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
32*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
33*22dc650dSSadaf Ebrahimi|
34*22dc650dSSadaf Ebrahimi" (?:                      # opening quote...
35*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
36*22dc650dSSadaf Ebrahimi|                     #    or
37*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff]           #   Escaped something (something != CR)
38*22dc650dSSadaf Ebrahimi)* "  # closing quote
39*22dc650dSSadaf Ebrahimi)  )* # further okay, if led by a period
40*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
41*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
42*22dc650dSSadaf Ebrahimi\)  )*  @  (?: [\040\t] |  \(
43*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
44*22dc650dSSadaf Ebrahimi\)  )*    (?:
45*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
46*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
47*22dc650dSSadaf Ebrahimi|   \[                         # [
48*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
49*22dc650dSSadaf Ebrahimi\]                        #           ]
50*22dc650dSSadaf Ebrahimi)                           # initial subdomain
51*22dc650dSSadaf Ebrahimi(?:                                  #
52*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
53*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
54*22dc650dSSadaf Ebrahimi\)  )*  \.                        # if led by a period...
55*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
56*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
57*22dc650dSSadaf Ebrahimi\)  )*   (?:
58*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
59*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
60*22dc650dSSadaf Ebrahimi|   \[                         # [
61*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
62*22dc650dSSadaf Ebrahimi\]                        #           ]
63*22dc650dSSadaf Ebrahimi)                     #   ...further okay
64*22dc650dSSadaf Ebrahimi)*
65*22dc650dSSadaf Ebrahimi# address
66*22dc650dSSadaf Ebrahimi|                     #  or
67*22dc650dSSadaf Ebrahimi(?:
68*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
69*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
70*22dc650dSSadaf Ebrahimi|
71*22dc650dSSadaf Ebrahimi" (?:                      # opening quote...
72*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
73*22dc650dSSadaf Ebrahimi|                     #    or
74*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff]           #   Escaped something (something != CR)
75*22dc650dSSadaf Ebrahimi)* "  # closing quote
76*22dc650dSSadaf Ebrahimi)             # one word, optionally followed by....
77*22dc650dSSadaf Ebrahimi(?:
78*22dc650dSSadaf Ebrahimi[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
79*22dc650dSSadaf Ebrahimi\(
80*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
81*22dc650dSSadaf Ebrahimi\)       |  # comments, or...
82*22dc650dSSadaf Ebrahimi
83*22dc650dSSadaf Ebrahimi" (?:                      # opening quote...
84*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
85*22dc650dSSadaf Ebrahimi|                     #    or
86*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff]           #   Escaped something (something != CR)
87*22dc650dSSadaf Ebrahimi)* "  # closing quote
88*22dc650dSSadaf Ebrahimi# quoted strings
89*22dc650dSSadaf Ebrahimi)*
90*22dc650dSSadaf Ebrahimi<  (?: [\040\t] |  \(
91*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
92*22dc650dSSadaf Ebrahimi\)  )*                     # leading <
93*22dc650dSSadaf Ebrahimi(?:  @  (?: [\040\t] |  \(
94*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
95*22dc650dSSadaf Ebrahimi\)  )*    (?:
96*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
97*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
98*22dc650dSSadaf Ebrahimi|   \[                         # [
99*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
100*22dc650dSSadaf Ebrahimi\]                        #           ]
101*22dc650dSSadaf Ebrahimi)                           # initial subdomain
102*22dc650dSSadaf Ebrahimi(?:                                  #
103*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
104*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
105*22dc650dSSadaf Ebrahimi\)  )*  \.                        # if led by a period...
106*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
107*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
108*22dc650dSSadaf Ebrahimi\)  )*   (?:
109*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
110*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
111*22dc650dSSadaf Ebrahimi|   \[                         # [
112*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
113*22dc650dSSadaf Ebrahimi\]                        #           ]
114*22dc650dSSadaf Ebrahimi)                     #   ...further okay
115*22dc650dSSadaf Ebrahimi)*
116*22dc650dSSadaf Ebrahimi
117*22dc650dSSadaf Ebrahimi(?:  (?: [\040\t] |  \(
118*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
119*22dc650dSSadaf Ebrahimi\)  )*  ,  (?: [\040\t] |  \(
120*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
121*22dc650dSSadaf Ebrahimi\)  )*  @  (?: [\040\t] |  \(
122*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
123*22dc650dSSadaf Ebrahimi\)  )*    (?:
124*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
125*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
126*22dc650dSSadaf Ebrahimi|   \[                         # [
127*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
128*22dc650dSSadaf Ebrahimi\]                        #           ]
129*22dc650dSSadaf Ebrahimi)                           # initial subdomain
130*22dc650dSSadaf Ebrahimi(?:                                  #
131*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
132*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
133*22dc650dSSadaf Ebrahimi\)  )*  \.                        # if led by a period...
134*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
135*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
136*22dc650dSSadaf Ebrahimi\)  )*   (?:
137*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
138*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
139*22dc650dSSadaf Ebrahimi|   \[                         # [
140*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
141*22dc650dSSadaf Ebrahimi\]                        #           ]
142*22dc650dSSadaf Ebrahimi)                     #   ...further okay
143*22dc650dSSadaf Ebrahimi)*
144*22dc650dSSadaf Ebrahimi)* # further okay, if led by comma
145*22dc650dSSadaf Ebrahimi:                                # closing colon
146*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
147*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
148*22dc650dSSadaf Ebrahimi\)  )*  )? #       optional route
149*22dc650dSSadaf Ebrahimi(?:
150*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
151*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
152*22dc650dSSadaf Ebrahimi|
153*22dc650dSSadaf Ebrahimi" (?:                      # opening quote...
154*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
155*22dc650dSSadaf Ebrahimi|                     #    or
156*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff]           #   Escaped something (something != CR)
157*22dc650dSSadaf Ebrahimi)* "  # closing quote
158*22dc650dSSadaf Ebrahimi)                    # initial word
159*22dc650dSSadaf Ebrahimi(?:  (?: [\040\t] |  \(
160*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
161*22dc650dSSadaf Ebrahimi\)  )*  \.  (?: [\040\t] |  \(
162*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
163*22dc650dSSadaf Ebrahimi\)  )*   (?:
164*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
165*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
166*22dc650dSSadaf Ebrahimi|
167*22dc650dSSadaf Ebrahimi" (?:                      # opening quote...
168*22dc650dSSadaf Ebrahimi[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
169*22dc650dSSadaf Ebrahimi|                     #    or
170*22dc650dSSadaf Ebrahimi\\ [^\x80-\xff]           #   Escaped something (something != CR)
171*22dc650dSSadaf Ebrahimi)* "  # closing quote
172*22dc650dSSadaf Ebrahimi)  )* # further okay, if led by a period
173*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
174*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
175*22dc650dSSadaf Ebrahimi\)  )*  @  (?: [\040\t] |  \(
176*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
177*22dc650dSSadaf Ebrahimi\)  )*    (?:
178*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
179*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
180*22dc650dSSadaf Ebrahimi|   \[                         # [
181*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
182*22dc650dSSadaf Ebrahimi\]                        #           ]
183*22dc650dSSadaf Ebrahimi)                           # initial subdomain
184*22dc650dSSadaf Ebrahimi(?:                                  #
185*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
186*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
187*22dc650dSSadaf Ebrahimi\)  )*  \.                        # if led by a period...
188*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
189*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
190*22dc650dSSadaf Ebrahimi\)  )*   (?:
191*22dc650dSSadaf Ebrahimi[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
192*22dc650dSSadaf Ebrahimi(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
193*22dc650dSSadaf Ebrahimi|   \[                         # [
194*22dc650dSSadaf Ebrahimi(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
195*22dc650dSSadaf Ebrahimi\]                        #           ]
196*22dc650dSSadaf Ebrahimi)                     #   ...further okay
197*22dc650dSSadaf Ebrahimi)*
198*22dc650dSSadaf Ebrahimi#       address spec
199*22dc650dSSadaf Ebrahimi(?: [\040\t] |  \(
200*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
201*22dc650dSSadaf Ebrahimi\)  )*  > #                  trailing >
202*22dc650dSSadaf Ebrahimi# name and address
203*22dc650dSSadaf Ebrahimi)  (?: [\040\t] |  \(
204*22dc650dSSadaf Ebrahimi(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
205*22dc650dSSadaf Ebrahimi\)  )*                       # optional trailing comment
206*22dc650dSSadaf Ebrahimi/Ix
207*22dc650dSSadaf Ebrahimi
208*22dc650dSSadaf Ebrahimi/[\h]/B
209*22dc650dSSadaf Ebrahimi    >\x09<
210*22dc650dSSadaf Ebrahimi
211*22dc650dSSadaf Ebrahimi/[\h]+/B
212*22dc650dSSadaf Ebrahimi    >\x09\x20\xa0<
213*22dc650dSSadaf Ebrahimi
214*22dc650dSSadaf Ebrahimi/[\v]/B
215*22dc650dSSadaf Ebrahimi
216*22dc650dSSadaf Ebrahimi/[^\h]/B
217*22dc650dSSadaf Ebrahimi
218*22dc650dSSadaf Ebrahimi/\h+/I
219*22dc650dSSadaf Ebrahimi    \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
220*22dc650dSSadaf Ebrahimi    \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
221*22dc650dSSadaf Ebrahimi
222*22dc650dSSadaf Ebrahimi/[\h\x{dc00}]+/IB
223*22dc650dSSadaf Ebrahimi    \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
224*22dc650dSSadaf Ebrahimi    \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
225*22dc650dSSadaf Ebrahimi
226*22dc650dSSadaf Ebrahimi/\H+/I
227*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
228*22dc650dSSadaf Ebrahimi    \x{2000}\x{200a}\x{1fff}\x{200b}
229*22dc650dSSadaf Ebrahimi    \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
230*22dc650dSSadaf Ebrahimi    \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
231*22dc650dSSadaf Ebrahimi
232*22dc650dSSadaf Ebrahimi/[\H\x{d800}]+/
233*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
234*22dc650dSSadaf Ebrahimi    \x{2000}\x{200a}\x{1fff}\x{200b}
235*22dc650dSSadaf Ebrahimi    \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
236*22dc650dSSadaf Ebrahimi    \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
237*22dc650dSSadaf Ebrahimi
238*22dc650dSSadaf Ebrahimi/\v+/I
239*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
240*22dc650dSSadaf Ebrahimi    \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
241*22dc650dSSadaf Ebrahimi
242*22dc650dSSadaf Ebrahimi/[\v\x{dc00}]+/IB
243*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
244*22dc650dSSadaf Ebrahimi    \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
245*22dc650dSSadaf Ebrahimi
246*22dc650dSSadaf Ebrahimi/\V+/I
247*22dc650dSSadaf Ebrahimi    \x{2028}\x{2029}\x{2027}\x{2030}
248*22dc650dSSadaf Ebrahimi    \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
249*22dc650dSSadaf Ebrahimi
250*22dc650dSSadaf Ebrahimi/[\V\x{d800}]+/
251*22dc650dSSadaf Ebrahimi    \x{2028}\x{2029}\x{2027}\x{2030}
252*22dc650dSSadaf Ebrahimi    \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
253*22dc650dSSadaf Ebrahimi
254*22dc650dSSadaf Ebrahimi/\R+/I,bsr=unicode
255*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
256*22dc650dSSadaf Ebrahimi    \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
257*22dc650dSSadaf Ebrahimi
258*22dc650dSSadaf Ebrahimi/\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
259*22dc650dSSadaf Ebrahimi    \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
260*22dc650dSSadaf Ebrahimi
261*22dc650dSSadaf Ebrahimi/[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/B
262*22dc650dSSadaf Ebrahimi
263*22dc650dSSadaf Ebrahimi/[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/Bi
264*22dc650dSSadaf Ebrahimi
265*22dc650dSSadaf Ebrahimi/[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/B
266*22dc650dSSadaf Ebrahimi
267*22dc650dSSadaf Ebrahimi/[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/Bi
268*22dc650dSSadaf Ebrahimi
269*22dc650dSSadaf Ebrahimi/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark
270*22dc650dSSadaf Ebrahimi    XX
271*22dc650dSSadaf Ebrahimi
272*22dc650dSSadaf Ebrahimi/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark
273*22dc650dSSadaf Ebrahimi    XX
274*22dc650dSSadaf Ebrahimi
275*22dc650dSSadaf Ebrahimi/\u0100/B,alt_bsux,allow_empty_class,match_unset_backref
276*22dc650dSSadaf Ebrahimi
277*22dc650dSSadaf Ebrahimi/[\u0100-\u0200]/B,alt_bsux,allow_empty_class,match_unset_backref
278*22dc650dSSadaf Ebrahimi
279*22dc650dSSadaf Ebrahimi/\ud800/B,alt_bsux,allow_empty_class,match_unset_backref
280*22dc650dSSadaf Ebrahimi
281*22dc650dSSadaf Ebrahimi/^\x{ffff}+/i
282*22dc650dSSadaf Ebrahimi    \x{ffff}
283*22dc650dSSadaf Ebrahimi
284*22dc650dSSadaf Ebrahimi/^\x{ffff}?/i
285*22dc650dSSadaf Ebrahimi    \x{ffff}
286*22dc650dSSadaf Ebrahimi
287*22dc650dSSadaf Ebrahimi/^\x{ffff}*/i
288*22dc650dSSadaf Ebrahimi    \x{ffff}
289*22dc650dSSadaf Ebrahimi
290*22dc650dSSadaf Ebrahimi/^\x{ffff}{3}/i
291*22dc650dSSadaf Ebrahimi    \x{ffff}\x{ffff}\x{ffff}
292*22dc650dSSadaf Ebrahimi
293*22dc650dSSadaf Ebrahimi/^\x{ffff}{0,3}/i
294*22dc650dSSadaf Ebrahimi    \x{ffff}
295*22dc650dSSadaf Ebrahimi
296*22dc650dSSadaf Ebrahimi/[^\x00-a]{12,}[^b-\xff]*/B
297*22dc650dSSadaf Ebrahimi
298*22dc650dSSadaf Ebrahimi/[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B
299*22dc650dSSadaf Ebrahimi
300*22dc650dSSadaf Ebrahimi/a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/B
301*22dc650dSSadaf Ebrahimi
302*22dc650dSSadaf Ebrahimi/^[\x{1234}\x{4321}]{2,4}?/
303*22dc650dSSadaf Ebrahimi    \x{1234}\x{1234}\x{1234}
304*22dc650dSSadaf Ebrahimi
305*22dc650dSSadaf Ebrahimi# Check maximum non-UTF character size for the 16-bit library.
306*22dc650dSSadaf Ebrahimi
307*22dc650dSSadaf Ebrahimi/\x{ffff}/
308*22dc650dSSadaf Ebrahimi    A\x{ffff}B
309*22dc650dSSadaf Ebrahimi
310*22dc650dSSadaf Ebrahimi/\x{10000}/
311*22dc650dSSadaf Ebrahimi
312*22dc650dSSadaf Ebrahimi/\o{20000}/
313*22dc650dSSadaf Ebrahimi
314*22dc650dSSadaf Ebrahimi# Check maximum character size for the 32-bit library. These will all give
315*22dc650dSSadaf Ebrahimi# errors in the 16-bit library.
316*22dc650dSSadaf Ebrahimi
317*22dc650dSSadaf Ebrahimi/\x{110000}/
318*22dc650dSSadaf Ebrahimi
319*22dc650dSSadaf Ebrahimi/\x{7fffffff}/
320*22dc650dSSadaf Ebrahimi
321*22dc650dSSadaf Ebrahimi/\x{80000000}/
322*22dc650dSSadaf Ebrahimi
323*22dc650dSSadaf Ebrahimi/\x{ffffffff}/
324*22dc650dSSadaf Ebrahimi
325*22dc650dSSadaf Ebrahimi/\x{100000000}/
326*22dc650dSSadaf Ebrahimi
327*22dc650dSSadaf Ebrahimi/\o{17777777777}/
328*22dc650dSSadaf Ebrahimi
329*22dc650dSSadaf Ebrahimi/\o{20000000000}/
330*22dc650dSSadaf Ebrahimi
331*22dc650dSSadaf Ebrahimi/\o{37777777777}/
332*22dc650dSSadaf Ebrahimi
333*22dc650dSSadaf Ebrahimi/\o{40000000000}/
334*22dc650dSSadaf Ebrahimi
335*22dc650dSSadaf Ebrahimi/\x{7fffffff}\x{7fffffff}/I
336*22dc650dSSadaf Ebrahimi
337*22dc650dSSadaf Ebrahimi/\x{80000000}\x{80000000}/I
338*22dc650dSSadaf Ebrahimi
339*22dc650dSSadaf Ebrahimi/\x{ffffffff}\x{ffffffff}/I
340*22dc650dSSadaf Ebrahimi
341*22dc650dSSadaf Ebrahimi# Non-UTF characters
342*22dc650dSSadaf Ebrahimi
343*22dc650dSSadaf Ebrahimi/.{2,3}/
344*22dc650dSSadaf Ebrahimi    \x{400000}\x{400001}\x{400002}\x{400003}
345*22dc650dSSadaf Ebrahimi
346*22dc650dSSadaf Ebrahimi/\x{400000}\x{800000}/IBi
347*22dc650dSSadaf Ebrahimi
348*22dc650dSSadaf Ebrahimi# Check character ranges
349*22dc650dSSadaf Ebrahimi
350*22dc650dSSadaf Ebrahimi/[\H]/IB
351*22dc650dSSadaf Ebrahimi
352*22dc650dSSadaf Ebrahimi/[\V]/IB
353*22dc650dSSadaf Ebrahimi
354*22dc650dSSadaf Ebrahimi/(*THEN:\[A]{65501})/expand
355*22dc650dSSadaf Ebrahimi
356*22dc650dSSadaf Ebrahimi# We can use pcre2test's utf8_input modifier to create wide pattern characters,
357*22dc650dSSadaf Ebrahimi# even though this test is run when UTF is not supported.
358*22dc650dSSadaf Ebrahimi
359*22dc650dSSadaf Ebrahimi/ab������z/utf8_input
360*22dc650dSSadaf Ebrahimi    ab������z
361*22dc650dSSadaf Ebrahimi    ab\x{7fffffff}z
362*22dc650dSSadaf Ebrahimi
363*22dc650dSSadaf Ebrahimi/ab�������z/utf8_input
364*22dc650dSSadaf Ebrahimi    ab�������z
365*22dc650dSSadaf Ebrahimi    ab\x{ffffffff}z
366*22dc650dSSadaf Ebrahimi
367*22dc650dSSadaf Ebrahimi/ab�Az/utf8_input
368*22dc650dSSadaf Ebrahimi    ab�Az
369*22dc650dSSadaf Ebrahimi    ab\x{80000041}z
370*22dc650dSSadaf Ebrahimi
371*22dc650dSSadaf Ebrahimi/(?i:A{1,}\6666666666)/
372*22dc650dSSadaf Ebrahimi    A\x{1b6}6666666
373*22dc650dSSadaf Ebrahimi
374*22dc650dSSadaf Ebrahimi# End of testinput11
375