1e18e3516Sopenharmony_ci# This set of tests is for UTF-16 and UTF-32 support, including Unicode
2e18e3516Sopenharmony_ci# properties. It is relevant only to the 16-bit and 32-bit libraries. The
3e18e3516Sopenharmony_ci# output is different for each library, so there are separate output files.
4e18e3516Sopenharmony_ci
5e18e3516Sopenharmony_ci/���xxx/IB,utf,no_utf_check
6e18e3516Sopenharmony_ci** Failed: invalid UTF-8 string cannot be converted to 32-bit string
7e18e3516Sopenharmony_ci
8e18e3516Sopenharmony_ci/abc/utf
9e18e3516Sopenharmony_ci    �]
10e18e3516Sopenharmony_ci** Failed: invalid UTF-8 string cannot be used as input in UTF mode
11e18e3516Sopenharmony_ci
12e18e3516Sopenharmony_ci# Check maximum character size 
13e18e3516Sopenharmony_ci
14e18e3516Sopenharmony_ci/\x{ffff}/IB,utf
15e18e3516Sopenharmony_ci------------------------------------------------------------------
16e18e3516Sopenharmony_ci        Bra
17e18e3516Sopenharmony_ci        \x{ffff}
18e18e3516Sopenharmony_ci        Ket
19e18e3516Sopenharmony_ci        End
20e18e3516Sopenharmony_ci------------------------------------------------------------------
21e18e3516Sopenharmony_ciCapture group count = 0
22e18e3516Sopenharmony_ciOptions: utf
23e18e3516Sopenharmony_ciFirst code unit = \x{ffff}
24e18e3516Sopenharmony_ciSubject length lower bound = 1
25e18e3516Sopenharmony_ci
26e18e3516Sopenharmony_ci/\x{10000}/IB,utf
27e18e3516Sopenharmony_ci------------------------------------------------------------------
28e18e3516Sopenharmony_ci        Bra
29e18e3516Sopenharmony_ci        \x{10000}
30e18e3516Sopenharmony_ci        Ket
31e18e3516Sopenharmony_ci        End
32e18e3516Sopenharmony_ci------------------------------------------------------------------
33e18e3516Sopenharmony_ciCapture group count = 0
34e18e3516Sopenharmony_ciOptions: utf
35e18e3516Sopenharmony_ciFirst code unit = \x{10000}
36e18e3516Sopenharmony_ciSubject length lower bound = 1
37e18e3516Sopenharmony_ci
38e18e3516Sopenharmony_ci/\x{100}/IB,utf
39e18e3516Sopenharmony_ci------------------------------------------------------------------
40e18e3516Sopenharmony_ci        Bra
41e18e3516Sopenharmony_ci        \x{100}
42e18e3516Sopenharmony_ci        Ket
43e18e3516Sopenharmony_ci        End
44e18e3516Sopenharmony_ci------------------------------------------------------------------
45e18e3516Sopenharmony_ciCapture group count = 0
46e18e3516Sopenharmony_ciOptions: utf
47e18e3516Sopenharmony_ciFirst code unit = \x{100}
48e18e3516Sopenharmony_ciSubject length lower bound = 1
49e18e3516Sopenharmony_ci
50e18e3516Sopenharmony_ci/\x{1000}/IB,utf
51e18e3516Sopenharmony_ci------------------------------------------------------------------
52e18e3516Sopenharmony_ci        Bra
53e18e3516Sopenharmony_ci        \x{1000}
54e18e3516Sopenharmony_ci        Ket
55e18e3516Sopenharmony_ci        End
56e18e3516Sopenharmony_ci------------------------------------------------------------------
57e18e3516Sopenharmony_ciCapture group count = 0
58e18e3516Sopenharmony_ciOptions: utf
59e18e3516Sopenharmony_ciFirst code unit = \x{1000}
60e18e3516Sopenharmony_ciSubject length lower bound = 1
61e18e3516Sopenharmony_ci
62e18e3516Sopenharmony_ci/\x{10000}/IB,utf
63e18e3516Sopenharmony_ci------------------------------------------------------------------
64e18e3516Sopenharmony_ci        Bra
65e18e3516Sopenharmony_ci        \x{10000}
66e18e3516Sopenharmony_ci        Ket
67e18e3516Sopenharmony_ci        End
68e18e3516Sopenharmony_ci------------------------------------------------------------------
69e18e3516Sopenharmony_ciCapture group count = 0
70e18e3516Sopenharmony_ciOptions: utf
71e18e3516Sopenharmony_ciFirst code unit = \x{10000}
72e18e3516Sopenharmony_ciSubject length lower bound = 1
73e18e3516Sopenharmony_ci
74e18e3516Sopenharmony_ci/\x{100000}/IB,utf
75e18e3516Sopenharmony_ci------------------------------------------------------------------
76e18e3516Sopenharmony_ci        Bra
77e18e3516Sopenharmony_ci        \x{100000}
78e18e3516Sopenharmony_ci        Ket
79e18e3516Sopenharmony_ci        End
80e18e3516Sopenharmony_ci------------------------------------------------------------------
81e18e3516Sopenharmony_ciCapture group count = 0
82e18e3516Sopenharmony_ciOptions: utf
83e18e3516Sopenharmony_ciFirst code unit = \x{100000}
84e18e3516Sopenharmony_ciSubject length lower bound = 1
85e18e3516Sopenharmony_ci
86e18e3516Sopenharmony_ci/\x{10ffff}/IB,utf
87e18e3516Sopenharmony_ci------------------------------------------------------------------
88e18e3516Sopenharmony_ci        Bra
89e18e3516Sopenharmony_ci        \x{10ffff}
90e18e3516Sopenharmony_ci        Ket
91e18e3516Sopenharmony_ci        End
92e18e3516Sopenharmony_ci------------------------------------------------------------------
93e18e3516Sopenharmony_ciCapture group count = 0
94e18e3516Sopenharmony_ciOptions: utf
95e18e3516Sopenharmony_ciFirst code unit = \x{10ffff}
96e18e3516Sopenharmony_ciSubject length lower bound = 1
97e18e3516Sopenharmony_ci
98e18e3516Sopenharmony_ci/[\x{ff}]/IB,utf
99e18e3516Sopenharmony_ci------------------------------------------------------------------
100e18e3516Sopenharmony_ci        Bra
101e18e3516Sopenharmony_ci        \x{ff}
102e18e3516Sopenharmony_ci        Ket
103e18e3516Sopenharmony_ci        End
104e18e3516Sopenharmony_ci------------------------------------------------------------------
105e18e3516Sopenharmony_ciCapture group count = 0
106e18e3516Sopenharmony_ciOptions: utf
107e18e3516Sopenharmony_ciFirst code unit = \xff
108e18e3516Sopenharmony_ciSubject length lower bound = 1
109e18e3516Sopenharmony_ci
110e18e3516Sopenharmony_ci/[\x{100}]/IB,utf
111e18e3516Sopenharmony_ci------------------------------------------------------------------
112e18e3516Sopenharmony_ci        Bra
113e18e3516Sopenharmony_ci        \x{100}
114e18e3516Sopenharmony_ci        Ket
115e18e3516Sopenharmony_ci        End
116e18e3516Sopenharmony_ci------------------------------------------------------------------
117e18e3516Sopenharmony_ciCapture group count = 0
118e18e3516Sopenharmony_ciOptions: utf
119e18e3516Sopenharmony_ciFirst code unit = \x{100}
120e18e3516Sopenharmony_ciSubject length lower bound = 1
121e18e3516Sopenharmony_ci
122e18e3516Sopenharmony_ci/\x80/IB,utf
123e18e3516Sopenharmony_ci------------------------------------------------------------------
124e18e3516Sopenharmony_ci        Bra
125e18e3516Sopenharmony_ci        \x{80}
126e18e3516Sopenharmony_ci        Ket
127e18e3516Sopenharmony_ci        End
128e18e3516Sopenharmony_ci------------------------------------------------------------------
129e18e3516Sopenharmony_ciCapture group count = 0
130e18e3516Sopenharmony_ciOptions: utf
131e18e3516Sopenharmony_ciFirst code unit = \x80
132e18e3516Sopenharmony_ciSubject length lower bound = 1
133e18e3516Sopenharmony_ci
134e18e3516Sopenharmony_ci/\xff/IB,utf
135e18e3516Sopenharmony_ci------------------------------------------------------------------
136e18e3516Sopenharmony_ci        Bra
137e18e3516Sopenharmony_ci        \x{ff}
138e18e3516Sopenharmony_ci        Ket
139e18e3516Sopenharmony_ci        End
140e18e3516Sopenharmony_ci------------------------------------------------------------------
141e18e3516Sopenharmony_ciCapture group count = 0
142e18e3516Sopenharmony_ciOptions: utf
143e18e3516Sopenharmony_ciFirst code unit = \xff
144e18e3516Sopenharmony_ciSubject length lower bound = 1
145e18e3516Sopenharmony_ci
146e18e3516Sopenharmony_ci/\x{D55c}\x{ad6d}\x{C5B4}/IB,utf
147e18e3516Sopenharmony_ci------------------------------------------------------------------
148e18e3516Sopenharmony_ci        Bra
149e18e3516Sopenharmony_ci        \x{d55c}\x{ad6d}\x{c5b4}
150e18e3516Sopenharmony_ci        Ket
151e18e3516Sopenharmony_ci        End
152e18e3516Sopenharmony_ci------------------------------------------------------------------
153e18e3516Sopenharmony_ciCapture group count = 0
154e18e3516Sopenharmony_ciOptions: utf
155e18e3516Sopenharmony_ciFirst code unit = \x{d55c}
156e18e3516Sopenharmony_ciLast code unit = \x{c5b4}
157e18e3516Sopenharmony_ciSubject length lower bound = 3
158e18e3516Sopenharmony_ci    \x{D55c}\x{ad6d}\x{C5B4}
159e18e3516Sopenharmony_ci 0: \x{d55c}\x{ad6d}\x{c5b4}
160e18e3516Sopenharmony_ci
161e18e3516Sopenharmony_ci/\x{65e5}\x{672c}\x{8a9e}/IB,utf
162e18e3516Sopenharmony_ci------------------------------------------------------------------
163e18e3516Sopenharmony_ci        Bra
164e18e3516Sopenharmony_ci        \x{65e5}\x{672c}\x{8a9e}
165e18e3516Sopenharmony_ci        Ket
166e18e3516Sopenharmony_ci        End
167e18e3516Sopenharmony_ci------------------------------------------------------------------
168e18e3516Sopenharmony_ciCapture group count = 0
169e18e3516Sopenharmony_ciOptions: utf
170e18e3516Sopenharmony_ciFirst code unit = \x{65e5}
171e18e3516Sopenharmony_ciLast code unit = \x{8a9e}
172e18e3516Sopenharmony_ciSubject length lower bound = 3
173e18e3516Sopenharmony_ci    \x{65e5}\x{672c}\x{8a9e}
174e18e3516Sopenharmony_ci 0: \x{65e5}\x{672c}\x{8a9e}
175e18e3516Sopenharmony_ci
176e18e3516Sopenharmony_ci/\x{80}/IB,utf
177e18e3516Sopenharmony_ci------------------------------------------------------------------
178e18e3516Sopenharmony_ci        Bra
179e18e3516Sopenharmony_ci        \x{80}
180e18e3516Sopenharmony_ci        Ket
181e18e3516Sopenharmony_ci        End
182e18e3516Sopenharmony_ci------------------------------------------------------------------
183e18e3516Sopenharmony_ciCapture group count = 0
184e18e3516Sopenharmony_ciOptions: utf
185e18e3516Sopenharmony_ciFirst code unit = \x80
186e18e3516Sopenharmony_ciSubject length lower bound = 1
187e18e3516Sopenharmony_ci
188e18e3516Sopenharmony_ci/\x{084}/IB,utf
189e18e3516Sopenharmony_ci------------------------------------------------------------------
190e18e3516Sopenharmony_ci        Bra
191e18e3516Sopenharmony_ci        \x{84}
192e18e3516Sopenharmony_ci        Ket
193e18e3516Sopenharmony_ci        End
194e18e3516Sopenharmony_ci------------------------------------------------------------------
195e18e3516Sopenharmony_ciCapture group count = 0
196e18e3516Sopenharmony_ciOptions: utf
197e18e3516Sopenharmony_ciFirst code unit = \x84
198e18e3516Sopenharmony_ciSubject length lower bound = 1
199e18e3516Sopenharmony_ci
200e18e3516Sopenharmony_ci/\x{104}/IB,utf
201e18e3516Sopenharmony_ci------------------------------------------------------------------
202e18e3516Sopenharmony_ci        Bra
203e18e3516Sopenharmony_ci        \x{104}
204e18e3516Sopenharmony_ci        Ket
205e18e3516Sopenharmony_ci        End
206e18e3516Sopenharmony_ci------------------------------------------------------------------
207e18e3516Sopenharmony_ciCapture group count = 0
208e18e3516Sopenharmony_ciOptions: utf
209e18e3516Sopenharmony_ciFirst code unit = \x{104}
210e18e3516Sopenharmony_ciSubject length lower bound = 1
211e18e3516Sopenharmony_ci
212e18e3516Sopenharmony_ci/\x{861}/IB,utf
213e18e3516Sopenharmony_ci------------------------------------------------------------------
214e18e3516Sopenharmony_ci        Bra
215e18e3516Sopenharmony_ci        \x{861}
216e18e3516Sopenharmony_ci        Ket
217e18e3516Sopenharmony_ci        End
218e18e3516Sopenharmony_ci------------------------------------------------------------------
219e18e3516Sopenharmony_ciCapture group count = 0
220e18e3516Sopenharmony_ciOptions: utf
221e18e3516Sopenharmony_ciFirst code unit = \x{861}
222e18e3516Sopenharmony_ciSubject length lower bound = 1
223e18e3516Sopenharmony_ci
224e18e3516Sopenharmony_ci/\x{212ab}/IB,utf
225e18e3516Sopenharmony_ci------------------------------------------------------------------
226e18e3516Sopenharmony_ci        Bra
227e18e3516Sopenharmony_ci        \x{212ab}
228e18e3516Sopenharmony_ci        Ket
229e18e3516Sopenharmony_ci        End
230e18e3516Sopenharmony_ci------------------------------------------------------------------
231e18e3516Sopenharmony_ciCapture group count = 0
232e18e3516Sopenharmony_ciOptions: utf
233e18e3516Sopenharmony_ciFirst code unit = \x{212ab}
234e18e3516Sopenharmony_ciSubject length lower bound = 1
235e18e3516Sopenharmony_ci
236e18e3516Sopenharmony_ci/[^ab\xC0-\xF0]/IB,utf
237e18e3516Sopenharmony_ci------------------------------------------------------------------
238e18e3516Sopenharmony_ci        Bra
239e18e3516Sopenharmony_ci        [\x00-`c-\xbf\xf1-\xff] (neg)
240e18e3516Sopenharmony_ci        Ket
241e18e3516Sopenharmony_ci        End
242e18e3516Sopenharmony_ci------------------------------------------------------------------
243e18e3516Sopenharmony_ciCapture group count = 0
244e18e3516Sopenharmony_ciOptions: utf
245e18e3516Sopenharmony_ciStarting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
246e18e3516Sopenharmony_ci  \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
247e18e3516Sopenharmony_ci  \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 
248e18e3516Sopenharmony_ci  5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y 
249e18e3516Sopenharmony_ci  Z [ \ ] ^ _ ` c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 
250e18e3516Sopenharmony_ci  \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e 
251e18e3516Sopenharmony_ci  \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d 
252e18e3516Sopenharmony_ci  \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac 
253e18e3516Sopenharmony_ci  \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb 
254e18e3516Sopenharmony_ci  \xbc \xbd \xbe \xbf \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
255e18e3516Sopenharmony_ci  \xfc \xfd \xfe \xff 
256e18e3516Sopenharmony_ciSubject length lower bound = 1
257e18e3516Sopenharmony_ci    \x{f1}
258e18e3516Sopenharmony_ci 0: \x{f1}
259e18e3516Sopenharmony_ci    \x{bf}
260e18e3516Sopenharmony_ci 0: \x{bf}
261e18e3516Sopenharmony_ci    \x{100}
262e18e3516Sopenharmony_ci 0: \x{100}
263e18e3516Sopenharmony_ci    \x{1000}
264e18e3516Sopenharmony_ci 0: \x{1000}
265e18e3516Sopenharmony_ci\= Expect no match
266e18e3516Sopenharmony_ci    \x{c0}
267e18e3516Sopenharmony_ciNo match
268e18e3516Sopenharmony_ci    \x{f0}
269e18e3516Sopenharmony_ciNo match
270e18e3516Sopenharmony_ci
271e18e3516Sopenharmony_ci/Ā{3,4}/IB,utf
272e18e3516Sopenharmony_ci------------------------------------------------------------------
273e18e3516Sopenharmony_ci        Bra
274e18e3516Sopenharmony_ci        \x{100}{3}
275e18e3516Sopenharmony_ci        \x{100}?+
276e18e3516Sopenharmony_ci        Ket
277e18e3516Sopenharmony_ci        End
278e18e3516Sopenharmony_ci------------------------------------------------------------------
279e18e3516Sopenharmony_ciCapture group count = 0
280e18e3516Sopenharmony_ciOptions: utf
281e18e3516Sopenharmony_ciFirst code unit = \x{100}
282e18e3516Sopenharmony_ciLast code unit = \x{100}
283e18e3516Sopenharmony_ciSubject length lower bound = 3
284e18e3516Sopenharmony_ci  \x{100}\x{100}\x{100}\x{100\x{100}
285e18e3516Sopenharmony_ci 0: \x{100}\x{100}\x{100}
286e18e3516Sopenharmony_ci
287e18e3516Sopenharmony_ci/(\x{100}+|x)/IB,utf
288e18e3516Sopenharmony_ci------------------------------------------------------------------
289e18e3516Sopenharmony_ci        Bra
290e18e3516Sopenharmony_ci        CBra 1
291e18e3516Sopenharmony_ci        \x{100}++
292e18e3516Sopenharmony_ci        Alt
293e18e3516Sopenharmony_ci        x
294e18e3516Sopenharmony_ci        Ket
295e18e3516Sopenharmony_ci        Ket
296e18e3516Sopenharmony_ci        End
297e18e3516Sopenharmony_ci------------------------------------------------------------------
298e18e3516Sopenharmony_ciCapture group count = 1
299e18e3516Sopenharmony_ciOptions: utf
300e18e3516Sopenharmony_ciStarting code units: x \xff 
301e18e3516Sopenharmony_ciSubject length lower bound = 1
302e18e3516Sopenharmony_ci
303e18e3516Sopenharmony_ci/(\x{100}*a|x)/IB,utf
304e18e3516Sopenharmony_ci------------------------------------------------------------------
305e18e3516Sopenharmony_ci        Bra
306e18e3516Sopenharmony_ci        CBra 1
307e18e3516Sopenharmony_ci        \x{100}*+
308e18e3516Sopenharmony_ci        a
309e18e3516Sopenharmony_ci        Alt
310e18e3516Sopenharmony_ci        x
311e18e3516Sopenharmony_ci        Ket
312e18e3516Sopenharmony_ci        Ket
313e18e3516Sopenharmony_ci        End
314e18e3516Sopenharmony_ci------------------------------------------------------------------
315e18e3516Sopenharmony_ciCapture group count = 1
316e18e3516Sopenharmony_ciOptions: utf
317e18e3516Sopenharmony_ciStarting code units: a x \xff 
318e18e3516Sopenharmony_ciSubject length lower bound = 1
319e18e3516Sopenharmony_ci
320e18e3516Sopenharmony_ci/(\x{100}{0,2}a|x)/IB,utf
321e18e3516Sopenharmony_ci------------------------------------------------------------------
322e18e3516Sopenharmony_ci        Bra
323e18e3516Sopenharmony_ci        CBra 1
324e18e3516Sopenharmony_ci        \x{100}{0,2}+
325e18e3516Sopenharmony_ci        a
326e18e3516Sopenharmony_ci        Alt
327e18e3516Sopenharmony_ci        x
328e18e3516Sopenharmony_ci        Ket
329e18e3516Sopenharmony_ci        Ket
330e18e3516Sopenharmony_ci        End
331e18e3516Sopenharmony_ci------------------------------------------------------------------
332e18e3516Sopenharmony_ciCapture group count = 1
333e18e3516Sopenharmony_ciOptions: utf
334e18e3516Sopenharmony_ciStarting code units: a x \xff 
335e18e3516Sopenharmony_ciSubject length lower bound = 1
336e18e3516Sopenharmony_ci
337e18e3516Sopenharmony_ci/(\x{100}{1,2}a|x)/IB,utf
338e18e3516Sopenharmony_ci------------------------------------------------------------------
339e18e3516Sopenharmony_ci        Bra
340e18e3516Sopenharmony_ci        CBra 1
341e18e3516Sopenharmony_ci        \x{100}
342e18e3516Sopenharmony_ci        \x{100}{0,1}+
343e18e3516Sopenharmony_ci        a
344e18e3516Sopenharmony_ci        Alt
345e18e3516Sopenharmony_ci        x
346e18e3516Sopenharmony_ci        Ket
347e18e3516Sopenharmony_ci        Ket
348e18e3516Sopenharmony_ci        End
349e18e3516Sopenharmony_ci------------------------------------------------------------------
350e18e3516Sopenharmony_ciCapture group count = 1
351e18e3516Sopenharmony_ciOptions: utf
352e18e3516Sopenharmony_ciStarting code units: x \xff 
353e18e3516Sopenharmony_ciSubject length lower bound = 1
354e18e3516Sopenharmony_ci
355e18e3516Sopenharmony_ci/\x{100}/IB,utf
356e18e3516Sopenharmony_ci------------------------------------------------------------------
357e18e3516Sopenharmony_ci        Bra
358e18e3516Sopenharmony_ci        \x{100}
359e18e3516Sopenharmony_ci        Ket
360e18e3516Sopenharmony_ci        End
361e18e3516Sopenharmony_ci------------------------------------------------------------------
362e18e3516Sopenharmony_ciCapture group count = 0
363e18e3516Sopenharmony_ciOptions: utf
364e18e3516Sopenharmony_ciFirst code unit = \x{100}
365e18e3516Sopenharmony_ciSubject length lower bound = 1
366e18e3516Sopenharmony_ci
367e18e3516Sopenharmony_ci/a\x{100}\x{101}*/IB,utf
368e18e3516Sopenharmony_ci------------------------------------------------------------------
369e18e3516Sopenharmony_ci        Bra
370e18e3516Sopenharmony_ci        a\x{100}
371e18e3516Sopenharmony_ci        \x{101}*+
372e18e3516Sopenharmony_ci        Ket
373e18e3516Sopenharmony_ci        End
374e18e3516Sopenharmony_ci------------------------------------------------------------------
375e18e3516Sopenharmony_ciCapture group count = 0
376e18e3516Sopenharmony_ciOptions: utf
377e18e3516Sopenharmony_ciFirst code unit = 'a'
378e18e3516Sopenharmony_ciLast code unit = \x{100}
379e18e3516Sopenharmony_ciSubject length lower bound = 2
380e18e3516Sopenharmony_ci
381e18e3516Sopenharmony_ci/a\x{100}\x{101}+/IB,utf
382e18e3516Sopenharmony_ci------------------------------------------------------------------
383e18e3516Sopenharmony_ci        Bra
384e18e3516Sopenharmony_ci        a\x{100}
385e18e3516Sopenharmony_ci        \x{101}++
386e18e3516Sopenharmony_ci        Ket
387e18e3516Sopenharmony_ci        End
388e18e3516Sopenharmony_ci------------------------------------------------------------------
389e18e3516Sopenharmony_ciCapture group count = 0
390e18e3516Sopenharmony_ciOptions: utf
391e18e3516Sopenharmony_ciFirst code unit = 'a'
392e18e3516Sopenharmony_ciLast code unit = \x{101}
393e18e3516Sopenharmony_ciSubject length lower bound = 3
394e18e3516Sopenharmony_ci
395e18e3516Sopenharmony_ci/[^\x{c4}]/IB
396e18e3516Sopenharmony_ci------------------------------------------------------------------
397e18e3516Sopenharmony_ci        Bra
398e18e3516Sopenharmony_ci        [^\x{c4}]
399e18e3516Sopenharmony_ci        Ket
400e18e3516Sopenharmony_ci        End
401e18e3516Sopenharmony_ci------------------------------------------------------------------
402e18e3516Sopenharmony_ciCapture group count = 0
403e18e3516Sopenharmony_ciSubject length lower bound = 1
404e18e3516Sopenharmony_ci
405e18e3516Sopenharmony_ci/[\x{100}]/IB,utf
406e18e3516Sopenharmony_ci------------------------------------------------------------------
407e18e3516Sopenharmony_ci        Bra
408e18e3516Sopenharmony_ci        \x{100}
409e18e3516Sopenharmony_ci        Ket
410e18e3516Sopenharmony_ci        End
411e18e3516Sopenharmony_ci------------------------------------------------------------------
412e18e3516Sopenharmony_ciCapture group count = 0
413e18e3516Sopenharmony_ciOptions: utf
414e18e3516Sopenharmony_ciFirst code unit = \x{100}
415e18e3516Sopenharmony_ciSubject length lower bound = 1
416e18e3516Sopenharmony_ci    \x{100}
417e18e3516Sopenharmony_ci 0: \x{100}
418e18e3516Sopenharmony_ci    Z\x{100}
419e18e3516Sopenharmony_ci 0: \x{100}
420e18e3516Sopenharmony_ci    \x{100}Z
421e18e3516Sopenharmony_ci 0: \x{100}
422e18e3516Sopenharmony_ci
423e18e3516Sopenharmony_ci/[\xff]/IB,utf
424e18e3516Sopenharmony_ci------------------------------------------------------------------
425e18e3516Sopenharmony_ci        Bra
426e18e3516Sopenharmony_ci        \x{ff}
427e18e3516Sopenharmony_ci        Ket
428e18e3516Sopenharmony_ci        End
429e18e3516Sopenharmony_ci------------------------------------------------------------------
430e18e3516Sopenharmony_ciCapture group count = 0
431e18e3516Sopenharmony_ciOptions: utf
432e18e3516Sopenharmony_ciFirst code unit = \xff
433e18e3516Sopenharmony_ciSubject length lower bound = 1
434e18e3516Sopenharmony_ci    >\x{ff}<
435e18e3516Sopenharmony_ci 0: \x{ff}
436e18e3516Sopenharmony_ci
437e18e3516Sopenharmony_ci/[^\xff]/IB,utf
438e18e3516Sopenharmony_ci------------------------------------------------------------------
439e18e3516Sopenharmony_ci        Bra
440e18e3516Sopenharmony_ci        [^\x{ff}]
441e18e3516Sopenharmony_ci        Ket
442e18e3516Sopenharmony_ci        End
443e18e3516Sopenharmony_ci------------------------------------------------------------------
444e18e3516Sopenharmony_ciCapture group count = 0
445e18e3516Sopenharmony_ciOptions: utf
446e18e3516Sopenharmony_ciSubject length lower bound = 1
447e18e3516Sopenharmony_ci
448e18e3516Sopenharmony_ci/\x{100}abc(xyz(?1))/IB,utf
449e18e3516Sopenharmony_ci------------------------------------------------------------------
450e18e3516Sopenharmony_ci        Bra
451e18e3516Sopenharmony_ci        \x{100}abc
452e18e3516Sopenharmony_ci        CBra 1
453e18e3516Sopenharmony_ci        xyz
454e18e3516Sopenharmony_ci        Recurse
455e18e3516Sopenharmony_ci        Ket
456e18e3516Sopenharmony_ci        Ket
457e18e3516Sopenharmony_ci        End
458e18e3516Sopenharmony_ci------------------------------------------------------------------
459e18e3516Sopenharmony_ciCapture group count = 1
460e18e3516Sopenharmony_ciOptions: utf
461e18e3516Sopenharmony_ciFirst code unit = \x{100}
462e18e3516Sopenharmony_ciLast code unit = 'z'
463e18e3516Sopenharmony_ciSubject length lower bound = 7
464e18e3516Sopenharmony_ci
465e18e3516Sopenharmony_ci/\777/I,utf
466e18e3516Sopenharmony_ciCapture group count = 0
467e18e3516Sopenharmony_ciOptions: utf
468e18e3516Sopenharmony_ciFirst code unit = \x{1ff}
469e18e3516Sopenharmony_ciSubject length lower bound = 1
470e18e3516Sopenharmony_ci  \x{1ff}
471e18e3516Sopenharmony_ci 0: \x{1ff}
472e18e3516Sopenharmony_ci  \777
473e18e3516Sopenharmony_ci 0: \x{1ff}
474e18e3516Sopenharmony_ci
475e18e3516Sopenharmony_ci/\x{100}+\x{200}/IB,utf
476e18e3516Sopenharmony_ci------------------------------------------------------------------
477e18e3516Sopenharmony_ci        Bra
478e18e3516Sopenharmony_ci        \x{100}++
479e18e3516Sopenharmony_ci        \x{200}
480e18e3516Sopenharmony_ci        Ket
481e18e3516Sopenharmony_ci        End
482e18e3516Sopenharmony_ci------------------------------------------------------------------
483e18e3516Sopenharmony_ciCapture group count = 0
484e18e3516Sopenharmony_ciOptions: utf
485e18e3516Sopenharmony_ciFirst code unit = \x{100}
486e18e3516Sopenharmony_ciLast code unit = \x{200}
487e18e3516Sopenharmony_ciSubject length lower bound = 2
488e18e3516Sopenharmony_ci
489e18e3516Sopenharmony_ci/\x{100}+X/IB,utf
490e18e3516Sopenharmony_ci------------------------------------------------------------------
491e18e3516Sopenharmony_ci        Bra
492e18e3516Sopenharmony_ci        \x{100}++
493e18e3516Sopenharmony_ci        X
494e18e3516Sopenharmony_ci        Ket
495e18e3516Sopenharmony_ci        End
496e18e3516Sopenharmony_ci------------------------------------------------------------------
497e18e3516Sopenharmony_ciCapture group count = 0
498e18e3516Sopenharmony_ciOptions: utf
499e18e3516Sopenharmony_ciFirst code unit = \x{100}
500e18e3516Sopenharmony_ciLast code unit = 'X'
501e18e3516Sopenharmony_ciSubject length lower bound = 2
502e18e3516Sopenharmony_ci
503e18e3516Sopenharmony_ci/^[\QĀ\E-\QŐ\E/B,utf
504e18e3516Sopenharmony_ciFailed: error 106 at offset 13: missing terminating ] for character class
505e18e3516Sopenharmony_ci
506e18e3516Sopenharmony_ci/X/utf
507e18e3516Sopenharmony_ci    XX\x{d800}\=no_utf_check
508e18e3516Sopenharmony_ci 0: X
509e18e3516Sopenharmony_ci    XX\x{da00}\=no_utf_check
510e18e3516Sopenharmony_ci 0: X
511e18e3516Sopenharmony_ci    XX\x{dc00}\=no_utf_check
512e18e3516Sopenharmony_ci 0: X
513e18e3516Sopenharmony_ci    XX\x{de00}\=no_utf_check
514e18e3516Sopenharmony_ci 0: X
515e18e3516Sopenharmony_ci    XX\x{dfff}\=no_utf_check
516e18e3516Sopenharmony_ci 0: X
517e18e3516Sopenharmony_ci\= Expect UTF error
518e18e3516Sopenharmony_ci    XX\x{d800}
519e18e3516Sopenharmony_ciFailed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
520e18e3516Sopenharmony_ci    XX\x{da00}
521e18e3516Sopenharmony_ciFailed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
522e18e3516Sopenharmony_ci    XX\x{dc00}
523e18e3516Sopenharmony_ciFailed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
524e18e3516Sopenharmony_ci    XX\x{de00}
525e18e3516Sopenharmony_ciFailed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
526e18e3516Sopenharmony_ci    XX\x{dfff}
527e18e3516Sopenharmony_ciFailed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
528e18e3516Sopenharmony_ci    XX\x{110000}
529e18e3516Sopenharmony_ciFailed: error -28: UTF-32 error: code points greater than 0x10ffff are not defined at offset 2
530e18e3516Sopenharmony_ci    XX\x{d800}\x{1234}
531e18e3516Sopenharmony_ciFailed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
532e18e3516Sopenharmony_ci\= Expect no match
533e18e3516Sopenharmony_ci    XX\x{d800}\=offset=3
534e18e3516Sopenharmony_ciNo match
535e18e3516Sopenharmony_ci    
536e18e3516Sopenharmony_ci/(?<=.)X/utf
537e18e3516Sopenharmony_ci    XX\x{d800}\=offset=3
538e18e3516Sopenharmony_ciFailed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
539e18e3516Sopenharmony_ci
540e18e3516Sopenharmony_ci/(*UTF16)\x{11234}/
541e18e3516Sopenharmony_ciFailed: error 160 at offset 7: (*VERB) not recognized or malformed
542e18e3516Sopenharmony_ci  abcd\x{11234}pqr
543e18e3516Sopenharmony_ci
544e18e3516Sopenharmony_ci/(*UTF)\x{11234}/I
545e18e3516Sopenharmony_ciCapture group count = 0
546e18e3516Sopenharmony_ciCompile options: <none>
547e18e3516Sopenharmony_ciOverall options: utf
548e18e3516Sopenharmony_ciFirst code unit = \x{11234}
549e18e3516Sopenharmony_ciSubject length lower bound = 1
550e18e3516Sopenharmony_ci  abcd\x{11234}pqr
551e18e3516Sopenharmony_ci 0: \x{11234}
552e18e3516Sopenharmony_ci
553e18e3516Sopenharmony_ci/(*UTF-32)\x{11234}/
554e18e3516Sopenharmony_ciFailed: error 160 at offset 5: (*VERB) not recognized or malformed
555e18e3516Sopenharmony_ci  abcd\x{11234}pqr
556e18e3516Sopenharmony_ci
557e18e3516Sopenharmony_ci/(*UTF-32)\x{112}/
558e18e3516Sopenharmony_ciFailed: error 160 at offset 5: (*VERB) not recognized or malformed
559e18e3516Sopenharmony_ci  abcd\x{11234}pqr
560e18e3516Sopenharmony_ci
561e18e3516Sopenharmony_ci/(*CRLF)(*UTF16)(*BSR_UNICODE)a\Rb/I
562e18e3516Sopenharmony_ciFailed: error 160 at offset 14: (*VERB) not recognized or malformed
563e18e3516Sopenharmony_ci
564e18e3516Sopenharmony_ci/(*CRLF)(*UTF32)(*BSR_UNICODE)a\Rb/I
565e18e3516Sopenharmony_ciCapture group count = 0
566e18e3516Sopenharmony_ciCompile options: <none>
567e18e3516Sopenharmony_ciOverall options: utf
568e18e3516Sopenharmony_ci\R matches any Unicode newline
569e18e3516Sopenharmony_ciForced newline is CRLF
570e18e3516Sopenharmony_ciFirst code unit = 'a'
571e18e3516Sopenharmony_ciLast code unit = 'b'
572e18e3516Sopenharmony_ciSubject length lower bound = 3
573e18e3516Sopenharmony_ci
574e18e3516Sopenharmony_ci/\h/I,utf
575e18e3516Sopenharmony_ciCapture group count = 0
576e18e3516Sopenharmony_ciOptions: utf
577e18e3516Sopenharmony_ciStarting code units: \x09 \x20 \xa0 \xff 
578e18e3516Sopenharmony_ciSubject length lower bound = 1
579e18e3516Sopenharmony_ci    ABC\x{09}
580e18e3516Sopenharmony_ci 0: \x{09}
581e18e3516Sopenharmony_ci    ABC\x{20}
582e18e3516Sopenharmony_ci 0:  
583e18e3516Sopenharmony_ci    ABC\x{a0}
584e18e3516Sopenharmony_ci 0: \x{a0}
585e18e3516Sopenharmony_ci    ABC\x{1680}
586e18e3516Sopenharmony_ci 0: \x{1680}
587e18e3516Sopenharmony_ci    ABC\x{180e}
588e18e3516Sopenharmony_ci 0: \x{180e}
589e18e3516Sopenharmony_ci    ABC\x{2000}
590e18e3516Sopenharmony_ci 0: \x{2000}
591e18e3516Sopenharmony_ci    ABC\x{202f}
592e18e3516Sopenharmony_ci 0: \x{202f}
593e18e3516Sopenharmony_ci    ABC\x{205f}
594e18e3516Sopenharmony_ci 0: \x{205f}
595e18e3516Sopenharmony_ci    ABC\x{3000}
596e18e3516Sopenharmony_ci 0: \x{3000}
597e18e3516Sopenharmony_ci
598e18e3516Sopenharmony_ci/\v/I,utf
599e18e3516Sopenharmony_ciCapture group count = 0
600e18e3516Sopenharmony_ciOptions: utf
601e18e3516Sopenharmony_ciStarting code units: \x0a \x0b \x0c \x0d \x85 \xff 
602e18e3516Sopenharmony_ciSubject length lower bound = 1
603e18e3516Sopenharmony_ci    ABC\x{0a}
604e18e3516Sopenharmony_ci 0: \x{0a}
605e18e3516Sopenharmony_ci    ABC\x{0b}
606e18e3516Sopenharmony_ci 0: \x{0b}
607e18e3516Sopenharmony_ci    ABC\x{0c}
608e18e3516Sopenharmony_ci 0: \x{0c}
609e18e3516Sopenharmony_ci    ABC\x{0d}
610e18e3516Sopenharmony_ci 0: \x{0d}
611e18e3516Sopenharmony_ci    ABC\x{85}
612e18e3516Sopenharmony_ci 0: \x{85}
613e18e3516Sopenharmony_ci    ABC\x{2028}
614e18e3516Sopenharmony_ci 0: \x{2028}
615e18e3516Sopenharmony_ci
616e18e3516Sopenharmony_ci/\h*A/I,utf
617e18e3516Sopenharmony_ciCapture group count = 0
618e18e3516Sopenharmony_ciOptions: utf
619e18e3516Sopenharmony_ciStarting code units: \x09 \x20 A \xa0 \xff 
620e18e3516Sopenharmony_ciLast code unit = 'A'
621e18e3516Sopenharmony_ciSubject length lower bound = 1
622e18e3516Sopenharmony_ci    CDBABC
623e18e3516Sopenharmony_ci 0: A
624e18e3516Sopenharmony_ci    \x{2000}ABC
625e18e3516Sopenharmony_ci 0: \x{2000}A
626e18e3516Sopenharmony_ci
627e18e3516Sopenharmony_ci/\R*A/I,bsr=unicode,utf
628e18e3516Sopenharmony_ciCapture group count = 0
629e18e3516Sopenharmony_ciOptions: utf
630e18e3516Sopenharmony_ci\R matches any Unicode newline
631e18e3516Sopenharmony_ciStarting code units: \x0a \x0b \x0c \x0d A \x85 \xff 
632e18e3516Sopenharmony_ciLast code unit = 'A'
633e18e3516Sopenharmony_ciSubject length lower bound = 1
634e18e3516Sopenharmony_ci    CDBABC
635e18e3516Sopenharmony_ci 0: A
636e18e3516Sopenharmony_ci    \x{2028}A
637e18e3516Sopenharmony_ci 0: \x{2028}A
638e18e3516Sopenharmony_ci
639e18e3516Sopenharmony_ci/\v+A/I,utf
640e18e3516Sopenharmony_ciCapture group count = 0
641e18e3516Sopenharmony_ciOptions: utf
642e18e3516Sopenharmony_ciStarting code units: \x0a \x0b \x0c \x0d \x85 \xff 
643e18e3516Sopenharmony_ciLast code unit = 'A'
644e18e3516Sopenharmony_ciSubject length lower bound = 2
645e18e3516Sopenharmony_ci
646e18e3516Sopenharmony_ci/\s?xxx\s/I,utf
647e18e3516Sopenharmony_ciCapture group count = 0
648e18e3516Sopenharmony_ciOptions: utf
649e18e3516Sopenharmony_ciStarting code units: \x09 \x0a \x0b \x0c \x0d \x20 x 
650e18e3516Sopenharmony_ciLast code unit = 'x'
651e18e3516Sopenharmony_ciSubject length lower bound = 4
652e18e3516Sopenharmony_ci
653e18e3516Sopenharmony_ci/\sxxx\s/I,utf,tables=2
654e18e3516Sopenharmony_ciCapture group count = 0
655e18e3516Sopenharmony_ciOptions: utf
656e18e3516Sopenharmony_ciStarting code units: \x09 \x0a \x0b \x0c \x0d \x20 \x85 \xa0 
657e18e3516Sopenharmony_ciLast code unit = 'x'
658e18e3516Sopenharmony_ciSubject length lower bound = 5
659e18e3516Sopenharmony_ci    AB\x{85}xxx\x{a0}XYZ
660e18e3516Sopenharmony_ci 0: \x{85}xxx\x{a0}
661e18e3516Sopenharmony_ci    AB\x{a0}xxx\x{85}XYZ
662e18e3516Sopenharmony_ci 0: \x{a0}xxx\x{85}
663e18e3516Sopenharmony_ci
664e18e3516Sopenharmony_ci/\S \S/I,utf,tables=2
665e18e3516Sopenharmony_ciCapture group count = 0
666e18e3516Sopenharmony_ciOptions: utf
667e18e3516Sopenharmony_ciStarting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f 
668e18e3516Sopenharmony_ci  \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e 
669e18e3516Sopenharmony_ci  \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C 
670e18e3516Sopenharmony_ci  D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h 
671e18e3516Sopenharmony_ci  i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 
672e18e3516Sopenharmony_ci  \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 
673e18e3516Sopenharmony_ci  \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3 \xa4 
674e18e3516Sopenharmony_ci  \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 
675e18e3516Sopenharmony_ci  \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 
676e18e3516Sopenharmony_ci  \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 
677e18e3516Sopenharmony_ci  \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 
678e18e3516Sopenharmony_ci  \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef 
679e18e3516Sopenharmony_ci  \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe 
680e18e3516Sopenharmony_ci  \xff 
681e18e3516Sopenharmony_ciLast code unit = ' '
682e18e3516Sopenharmony_ciSubject length lower bound = 3
683e18e3516Sopenharmony_ci    \x{a2} \x{84}
684e18e3516Sopenharmony_ci 0: \x{a2} \x{84}
685e18e3516Sopenharmony_ci    A Z
686e18e3516Sopenharmony_ci 0: A Z
687e18e3516Sopenharmony_ci
688e18e3516Sopenharmony_ci/a+/utf
689e18e3516Sopenharmony_ci    a\x{123}aa\=offset=1
690e18e3516Sopenharmony_ci 0: aa
691e18e3516Sopenharmony_ci    a\x{123}aa\=offset=2
692e18e3516Sopenharmony_ci 0: aa
693e18e3516Sopenharmony_ci    a\x{123}aa\=offset=3
694e18e3516Sopenharmony_ci 0: a
695e18e3516Sopenharmony_ci\= Expect no match
696e18e3516Sopenharmony_ci    a\x{123}aa\=offset=4
697e18e3516Sopenharmony_ciNo match
698e18e3516Sopenharmony_ci\= Expect bad offset error     
699e18e3516Sopenharmony_ci    a\x{123}aa\=offset=5
700e18e3516Sopenharmony_ciFailed: error -33: bad offset value
701e18e3516Sopenharmony_ci    a\x{123}aa\=offset=6
702e18e3516Sopenharmony_ciFailed: error -33: bad offset value
703e18e3516Sopenharmony_ci
704e18e3516Sopenharmony_ci/\x{1234}+/Ii,utf
705e18e3516Sopenharmony_ciCapture group count = 0
706e18e3516Sopenharmony_ciOptions: caseless utf
707e18e3516Sopenharmony_ciFirst code unit = \x{1234}
708e18e3516Sopenharmony_ciSubject length lower bound = 1
709e18e3516Sopenharmony_ci
710e18e3516Sopenharmony_ci/\x{1234}+?/Ii,utf
711e18e3516Sopenharmony_ciCapture group count = 0
712e18e3516Sopenharmony_ciOptions: caseless utf
713e18e3516Sopenharmony_ciFirst code unit = \x{1234}
714e18e3516Sopenharmony_ciSubject length lower bound = 1
715e18e3516Sopenharmony_ci
716e18e3516Sopenharmony_ci/\x{1234}++/Ii,utf
717e18e3516Sopenharmony_ciCapture group count = 0
718e18e3516Sopenharmony_ciOptions: caseless utf
719e18e3516Sopenharmony_ciFirst code unit = \x{1234}
720e18e3516Sopenharmony_ciSubject length lower bound = 1
721e18e3516Sopenharmony_ci
722e18e3516Sopenharmony_ci/\x{1234}{2}/Ii,utf
723e18e3516Sopenharmony_ciCapture group count = 0
724e18e3516Sopenharmony_ciOptions: caseless utf
725e18e3516Sopenharmony_ciFirst code unit = \x{1234}
726e18e3516Sopenharmony_ciLast code unit = \x{1234}
727e18e3516Sopenharmony_ciSubject length lower bound = 2
728e18e3516Sopenharmony_ci
729e18e3516Sopenharmony_ci/[^\x{c4}]/IB,utf
730e18e3516Sopenharmony_ci------------------------------------------------------------------
731e18e3516Sopenharmony_ci        Bra
732e18e3516Sopenharmony_ci        [^\x{c4}]
733e18e3516Sopenharmony_ci        Ket
734e18e3516Sopenharmony_ci        End
735e18e3516Sopenharmony_ci------------------------------------------------------------------
736e18e3516Sopenharmony_ciCapture group count = 0
737e18e3516Sopenharmony_ciOptions: utf
738e18e3516Sopenharmony_ciSubject length lower bound = 1
739e18e3516Sopenharmony_ci
740e18e3516Sopenharmony_ci/X+\x{200}/IB,utf
741e18e3516Sopenharmony_ci------------------------------------------------------------------
742e18e3516Sopenharmony_ci        Bra
743e18e3516Sopenharmony_ci        X++
744e18e3516Sopenharmony_ci        \x{200}
745e18e3516Sopenharmony_ci        Ket
746e18e3516Sopenharmony_ci        End
747e18e3516Sopenharmony_ci------------------------------------------------------------------
748e18e3516Sopenharmony_ciCapture group count = 0
749e18e3516Sopenharmony_ciOptions: utf
750e18e3516Sopenharmony_ciFirst code unit = 'X'
751e18e3516Sopenharmony_ciLast code unit = \x{200}
752e18e3516Sopenharmony_ciSubject length lower bound = 2
753e18e3516Sopenharmony_ci
754e18e3516Sopenharmony_ci/\R/I,utf
755e18e3516Sopenharmony_ciCapture group count = 0
756e18e3516Sopenharmony_ciOptions: utf
757e18e3516Sopenharmony_ciStarting code units: \x0a \x0b \x0c \x0d \x85 \xff 
758e18e3516Sopenharmony_ciSubject length lower bound = 1
759e18e3516Sopenharmony_ci
760e18e3516Sopenharmony_ci# Check bad offset 
761e18e3516Sopenharmony_ci
762e18e3516Sopenharmony_ci/a/utf
763e18e3516Sopenharmony_ci\= Expect bad UTF-16 offset, or no match in 32-bit
764e18e3516Sopenharmony_ci    \x{10000}\=offset=1
765e18e3516Sopenharmony_ciNo match
766e18e3516Sopenharmony_ci    \x{10000}ab\=offset=1
767e18e3516Sopenharmony_ci 0: a
768e18e3516Sopenharmony_ci\= Expect 16-bit match, 32-bit no match
769e18e3516Sopenharmony_ci    \x{10000}ab\=offset=2
770e18e3516Sopenharmony_ciNo match
771e18e3516Sopenharmony_ci\= Expect no match     
772e18e3516Sopenharmony_ci    \x{10000}ab\=offset=3
773e18e3516Sopenharmony_ciNo match
774e18e3516Sopenharmony_ci\= Expect no match in 16-bit, bad offset in 32-bit    
775e18e3516Sopenharmony_ci    \x{10000}ab\=offset=4
776e18e3516Sopenharmony_ciFailed: error -33: bad offset value
777e18e3516Sopenharmony_ci\= Expect bad offset     
778e18e3516Sopenharmony_ci    \x{10000}ab\=offset=5
779e18e3516Sopenharmony_ciFailed: error -33: bad offset value
780e18e3516Sopenharmony_ci
781e18e3516Sopenharmony_ci/�/utf
782e18e3516Sopenharmony_ciFailed: error -27 at offset 0: UTF-32 error: code points 0xd800-0xdfff are not defined
783e18e3516Sopenharmony_ci
784e18e3516Sopenharmony_ci/\w+\x{C4}/B,utf
785e18e3516Sopenharmony_ci------------------------------------------------------------------
786e18e3516Sopenharmony_ci        Bra
787e18e3516Sopenharmony_ci        \w++
788e18e3516Sopenharmony_ci        \x{c4}
789e18e3516Sopenharmony_ci        Ket
790e18e3516Sopenharmony_ci        End
791e18e3516Sopenharmony_ci------------------------------------------------------------------
792e18e3516Sopenharmony_ci    a\x{C4}\x{C4}
793e18e3516Sopenharmony_ci 0: a\x{c4}
794e18e3516Sopenharmony_ci
795e18e3516Sopenharmony_ci/\w+\x{C4}/B,utf,tables=2
796e18e3516Sopenharmony_ci------------------------------------------------------------------
797e18e3516Sopenharmony_ci        Bra
798e18e3516Sopenharmony_ci        \w+
799e18e3516Sopenharmony_ci        \x{c4}
800e18e3516Sopenharmony_ci        Ket
801e18e3516Sopenharmony_ci        End
802e18e3516Sopenharmony_ci------------------------------------------------------------------
803e18e3516Sopenharmony_ci    a\x{C4}\x{C4}
804e18e3516Sopenharmony_ci 0: a\x{c4}\x{c4}
805e18e3516Sopenharmony_ci    
806e18e3516Sopenharmony_ci/\W+\x{C4}/B,utf
807e18e3516Sopenharmony_ci------------------------------------------------------------------
808e18e3516Sopenharmony_ci        Bra
809e18e3516Sopenharmony_ci        \W+
810e18e3516Sopenharmony_ci        \x{c4}
811e18e3516Sopenharmony_ci        Ket
812e18e3516Sopenharmony_ci        End
813e18e3516Sopenharmony_ci------------------------------------------------------------------
814e18e3516Sopenharmony_ci    !\x{C4}
815e18e3516Sopenharmony_ci 0: !\x{c4}
816e18e3516Sopenharmony_ci 
817e18e3516Sopenharmony_ci/\W+\x{C4}/B,utf,tables=2
818e18e3516Sopenharmony_ci------------------------------------------------------------------
819e18e3516Sopenharmony_ci        Bra
820e18e3516Sopenharmony_ci        \W++
821e18e3516Sopenharmony_ci        \x{c4}
822e18e3516Sopenharmony_ci        Ket
823e18e3516Sopenharmony_ci        End
824e18e3516Sopenharmony_ci------------------------------------------------------------------
825e18e3516Sopenharmony_ci    !\x{C4}
826e18e3516Sopenharmony_ci 0: !\x{c4}
827e18e3516Sopenharmony_ci
828e18e3516Sopenharmony_ci/\W+\x{A1}/B,utf
829e18e3516Sopenharmony_ci------------------------------------------------------------------
830e18e3516Sopenharmony_ci        Bra
831e18e3516Sopenharmony_ci        \W+
832e18e3516Sopenharmony_ci        \x{a1}
833e18e3516Sopenharmony_ci        Ket
834e18e3516Sopenharmony_ci        End
835e18e3516Sopenharmony_ci------------------------------------------------------------------
836e18e3516Sopenharmony_ci    !\x{A1}
837e18e3516Sopenharmony_ci 0: !\x{a1}
838e18e3516Sopenharmony_ci 
839e18e3516Sopenharmony_ci/\W+\x{A1}/B,utf,tables=2
840e18e3516Sopenharmony_ci------------------------------------------------------------------
841e18e3516Sopenharmony_ci        Bra
842e18e3516Sopenharmony_ci        \W+
843e18e3516Sopenharmony_ci        \x{a1}
844e18e3516Sopenharmony_ci        Ket
845e18e3516Sopenharmony_ci        End
846e18e3516Sopenharmony_ci------------------------------------------------------------------
847e18e3516Sopenharmony_ci    !\x{A1}
848e18e3516Sopenharmony_ci 0: !\x{a1}
849e18e3516Sopenharmony_ci
850e18e3516Sopenharmony_ci/X\s+\x{A0}/B,utf
851e18e3516Sopenharmony_ci------------------------------------------------------------------
852e18e3516Sopenharmony_ci        Bra
853e18e3516Sopenharmony_ci        X
854e18e3516Sopenharmony_ci        \s++
855e18e3516Sopenharmony_ci        \x{a0}
856e18e3516Sopenharmony_ci        Ket
857e18e3516Sopenharmony_ci        End
858e18e3516Sopenharmony_ci------------------------------------------------------------------
859e18e3516Sopenharmony_ci    X\x20\x{A0}\x{A0}
860e18e3516Sopenharmony_ci 0: X \x{a0}
861e18e3516Sopenharmony_ci
862e18e3516Sopenharmony_ci/X\s+\x{A0}/B,utf,tables=2
863e18e3516Sopenharmony_ci------------------------------------------------------------------
864e18e3516Sopenharmony_ci        Bra
865e18e3516Sopenharmony_ci        X
866e18e3516Sopenharmony_ci        \s+
867e18e3516Sopenharmony_ci        \x{a0}
868e18e3516Sopenharmony_ci        Ket
869e18e3516Sopenharmony_ci        End
870e18e3516Sopenharmony_ci------------------------------------------------------------------
871e18e3516Sopenharmony_ci    X\x20\x{A0}\x{A0}
872e18e3516Sopenharmony_ci 0: X \x{a0}\x{a0}
873e18e3516Sopenharmony_ci
874e18e3516Sopenharmony_ci/\S+\x{A0}/B,utf
875e18e3516Sopenharmony_ci------------------------------------------------------------------
876e18e3516Sopenharmony_ci        Bra
877e18e3516Sopenharmony_ci        \S+
878e18e3516Sopenharmony_ci        \x{a0}
879e18e3516Sopenharmony_ci        Ket
880e18e3516Sopenharmony_ci        End
881e18e3516Sopenharmony_ci------------------------------------------------------------------
882e18e3516Sopenharmony_ci    X\x{A0}\x{A0}
883e18e3516Sopenharmony_ci 0: X\x{a0}\x{a0}
884e18e3516Sopenharmony_ci
885e18e3516Sopenharmony_ci/\S+\x{A0}/B,utf,tables=2
886e18e3516Sopenharmony_ci------------------------------------------------------------------
887e18e3516Sopenharmony_ci        Bra
888e18e3516Sopenharmony_ci        \S++
889e18e3516Sopenharmony_ci        \x{a0}
890e18e3516Sopenharmony_ci        Ket
891e18e3516Sopenharmony_ci        End
892e18e3516Sopenharmony_ci------------------------------------------------------------------
893e18e3516Sopenharmony_ci    X\x{A0}\x{A0}
894e18e3516Sopenharmony_ci 0: X\x{a0}
895e18e3516Sopenharmony_ci
896e18e3516Sopenharmony_ci/\x{a0}+\s!/B,utf
897e18e3516Sopenharmony_ci------------------------------------------------------------------
898e18e3516Sopenharmony_ci        Bra
899e18e3516Sopenharmony_ci        \x{a0}++
900e18e3516Sopenharmony_ci        \s
901e18e3516Sopenharmony_ci        !
902e18e3516Sopenharmony_ci        Ket
903e18e3516Sopenharmony_ci        End
904e18e3516Sopenharmony_ci------------------------------------------------------------------
905e18e3516Sopenharmony_ci    \x{a0}\x20!
906e18e3516Sopenharmony_ci 0: \x{a0} !
907e18e3516Sopenharmony_ci
908e18e3516Sopenharmony_ci/\x{a0}+\s!/B,utf,tables=2
909e18e3516Sopenharmony_ci------------------------------------------------------------------
910e18e3516Sopenharmony_ci        Bra
911e18e3516Sopenharmony_ci        \x{a0}+
912e18e3516Sopenharmony_ci        \s
913e18e3516Sopenharmony_ci        !
914e18e3516Sopenharmony_ci        Ket
915e18e3516Sopenharmony_ci        End
916e18e3516Sopenharmony_ci------------------------------------------------------------------
917e18e3516Sopenharmony_ci    \x{a0}\x20!
918e18e3516Sopenharmony_ci 0: \x{a0} !
919e18e3516Sopenharmony_ci
920e18e3516Sopenharmony_ci/(*UTF)abc/never_utf
921e18e3516Sopenharmony_ciFailed: error 174 at offset 6: using UTF is disabled by the application
922e18e3516Sopenharmony_ci
923e18e3516Sopenharmony_ci/abc/utf,never_utf
924e18e3516Sopenharmony_ciFailed: error 174 at offset 0: using UTF is disabled by the application
925e18e3516Sopenharmony_ci
926e18e3516Sopenharmony_ci/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/IBi,utf
927e18e3516Sopenharmony_ci------------------------------------------------------------------
928e18e3516Sopenharmony_ci        Bra
929e18e3516Sopenharmony_ci     /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
930e18e3516Sopenharmony_ci        Ket
931e18e3516Sopenharmony_ci        End
932e18e3516Sopenharmony_ci------------------------------------------------------------------
933e18e3516Sopenharmony_ciCapture group count = 0
934e18e3516Sopenharmony_ciOptions: caseless utf
935e18e3516Sopenharmony_ciFirst code unit = 'A' (caseless)
936e18e3516Sopenharmony_ciLast code unit = \x{1fb0} (caseless)
937e18e3516Sopenharmony_ciSubject length lower bound = 5
938e18e3516Sopenharmony_ci
939e18e3516Sopenharmony_ci/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/IB,utf
940e18e3516Sopenharmony_ci------------------------------------------------------------------
941e18e3516Sopenharmony_ci        Bra
942e18e3516Sopenharmony_ci        A\x{391}\x{10427}\x{ff3a}\x{1fb0}
943e18e3516Sopenharmony_ci        Ket
944e18e3516Sopenharmony_ci        End
945e18e3516Sopenharmony_ci------------------------------------------------------------------
946e18e3516Sopenharmony_ciCapture group count = 0
947e18e3516Sopenharmony_ciOptions: utf
948e18e3516Sopenharmony_ciFirst code unit = 'A'
949e18e3516Sopenharmony_ciLast code unit = \x{1fb0}
950e18e3516Sopenharmony_ciSubject length lower bound = 5
951e18e3516Sopenharmony_ci
952e18e3516Sopenharmony_ci/AB\x{1fb0}/IB,utf
953e18e3516Sopenharmony_ci------------------------------------------------------------------
954e18e3516Sopenharmony_ci        Bra
955e18e3516Sopenharmony_ci        AB\x{1fb0}
956e18e3516Sopenharmony_ci        Ket
957e18e3516Sopenharmony_ci        End
958e18e3516Sopenharmony_ci------------------------------------------------------------------
959e18e3516Sopenharmony_ciCapture group count = 0
960e18e3516Sopenharmony_ciOptions: utf
961e18e3516Sopenharmony_ciFirst code unit = 'A'
962e18e3516Sopenharmony_ciLast code unit = \x{1fb0}
963e18e3516Sopenharmony_ciSubject length lower bound = 3
964e18e3516Sopenharmony_ci
965e18e3516Sopenharmony_ci/AB\x{1fb0}/IBi,utf
966e18e3516Sopenharmony_ci------------------------------------------------------------------
967e18e3516Sopenharmony_ci        Bra
968e18e3516Sopenharmony_ci     /i AB\x{1fb0}
969e18e3516Sopenharmony_ci        Ket
970e18e3516Sopenharmony_ci        End
971e18e3516Sopenharmony_ci------------------------------------------------------------------
972e18e3516Sopenharmony_ciCapture group count = 0
973e18e3516Sopenharmony_ciOptions: caseless utf
974e18e3516Sopenharmony_ciFirst code unit = 'A' (caseless)
975e18e3516Sopenharmony_ciLast code unit = \x{1fb0} (caseless)
976e18e3516Sopenharmony_ciSubject length lower bound = 3
977e18e3516Sopenharmony_ci
978e18e3516Sopenharmony_ci/\x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}/Ii,utf
979e18e3516Sopenharmony_ciCapture group count = 0
980e18e3516Sopenharmony_ciOptions: caseless utf
981e18e3516Sopenharmony_ciFirst code unit = \x{401} (caseless)
982e18e3516Sopenharmony_ciLast code unit = \x{42f} (caseless)
983e18e3516Sopenharmony_ciSubject length lower bound = 17
984e18e3516Sopenharmony_ci    \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
985e18e3516Sopenharmony_ci 0: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
986e18e3516Sopenharmony_ci    \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}
987e18e3516Sopenharmony_ci 0: \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}
988e18e3516Sopenharmony_ci
989e18e3516Sopenharmony_ci/[ⱥ]/Bi,utf
990e18e3516Sopenharmony_ci------------------------------------------------------------------
991e18e3516Sopenharmony_ci        Bra
992e18e3516Sopenharmony_ci     /i \x{2c65}
993e18e3516Sopenharmony_ci        Ket
994e18e3516Sopenharmony_ci        End
995e18e3516Sopenharmony_ci------------------------------------------------------------------
996e18e3516Sopenharmony_ci
997e18e3516Sopenharmony_ci/[^ⱥ]/Bi,utf
998e18e3516Sopenharmony_ci------------------------------------------------------------------
999e18e3516Sopenharmony_ci        Bra
1000e18e3516Sopenharmony_ci     /i [^\x{2c65}]
1001e18e3516Sopenharmony_ci        Ket
1002e18e3516Sopenharmony_ci        End
1003e18e3516Sopenharmony_ci------------------------------------------------------------------
1004e18e3516Sopenharmony_ci
1005e18e3516Sopenharmony_ci/[[:blank:]]/B,ucp
1006e18e3516Sopenharmony_ci------------------------------------------------------------------
1007e18e3516Sopenharmony_ci        Bra
1008e18e3516Sopenharmony_ci        [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
1009e18e3516Sopenharmony_ci        Ket
1010e18e3516Sopenharmony_ci        End
1011e18e3516Sopenharmony_ci------------------------------------------------------------------
1012e18e3516Sopenharmony_ci
1013e18e3516Sopenharmony_ci/\x{212a}+/Ii,utf
1014e18e3516Sopenharmony_ciCapture group count = 0
1015e18e3516Sopenharmony_ciOptions: caseless utf
1016e18e3516Sopenharmony_ciStarting code units: K k \xff 
1017e18e3516Sopenharmony_ciSubject length lower bound = 1
1018e18e3516Sopenharmony_ci    KKkk\x{212a}
1019e18e3516Sopenharmony_ci 0: KKkk\x{212a}
1020e18e3516Sopenharmony_ci
1021e18e3516Sopenharmony_ci/s+/Ii,utf
1022e18e3516Sopenharmony_ciCapture group count = 0
1023e18e3516Sopenharmony_ciOptions: caseless utf
1024e18e3516Sopenharmony_ciStarting code units: S s \xff 
1025e18e3516Sopenharmony_ciSubject length lower bound = 1
1026e18e3516Sopenharmony_ci    SSss\x{17f}
1027e18e3516Sopenharmony_ci 0: SSss\x{17f}
1028e18e3516Sopenharmony_ci
1029e18e3516Sopenharmony_ci# Non-UTF characters should give errors in both 16-bit and 32-bit modes.
1030e18e3516Sopenharmony_ci
1031e18e3516Sopenharmony_ci/\x{110000}/utf
1032e18e3516Sopenharmony_ciFailed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
1033e18e3516Sopenharmony_ci
1034e18e3516Sopenharmony_ci/\o{4200000}/utf
1035e18e3516Sopenharmony_ciFailed: error 134 at offset 10: character code point value in \x{} or \o{} is too large
1036e18e3516Sopenharmony_ci
1037e18e3516Sopenharmony_ci/\x{100}*A/IB,utf
1038e18e3516Sopenharmony_ci------------------------------------------------------------------
1039e18e3516Sopenharmony_ci        Bra
1040e18e3516Sopenharmony_ci        \x{100}*+
1041e18e3516Sopenharmony_ci        A
1042e18e3516Sopenharmony_ci        Ket
1043e18e3516Sopenharmony_ci        End
1044e18e3516Sopenharmony_ci------------------------------------------------------------------
1045e18e3516Sopenharmony_ciCapture group count = 0
1046e18e3516Sopenharmony_ciOptions: utf
1047e18e3516Sopenharmony_ciStarting code units: A \xff 
1048e18e3516Sopenharmony_ciLast code unit = 'A'
1049e18e3516Sopenharmony_ciSubject length lower bound = 1
1050e18e3516Sopenharmony_ci    A
1051e18e3516Sopenharmony_ci 0: A
1052e18e3516Sopenharmony_ci
1053e18e3516Sopenharmony_ci/\x{100}*\d(?R)/IB,utf
1054e18e3516Sopenharmony_ci------------------------------------------------------------------
1055e18e3516Sopenharmony_ci        Bra
1056e18e3516Sopenharmony_ci        \x{100}*+
1057e18e3516Sopenharmony_ci        \d
1058e18e3516Sopenharmony_ci        Recurse
1059e18e3516Sopenharmony_ci        Ket
1060e18e3516Sopenharmony_ci        End
1061e18e3516Sopenharmony_ci------------------------------------------------------------------
1062e18e3516Sopenharmony_ciCapture group count = 0
1063e18e3516Sopenharmony_ciOptions: utf
1064e18e3516Sopenharmony_ciStarting code units: 0 1 2 3 4 5 6 7 8 9 \xff 
1065e18e3516Sopenharmony_ciSubject length lower bound = 1
1066e18e3516Sopenharmony_ci
1067e18e3516Sopenharmony_ci/[Z\x{100}]/IB,utf
1068e18e3516Sopenharmony_ci------------------------------------------------------------------
1069e18e3516Sopenharmony_ci        Bra
1070e18e3516Sopenharmony_ci        [Z\x{100}]
1071e18e3516Sopenharmony_ci        Ket
1072e18e3516Sopenharmony_ci        End
1073e18e3516Sopenharmony_ci------------------------------------------------------------------
1074e18e3516Sopenharmony_ciCapture group count = 0
1075e18e3516Sopenharmony_ciOptions: utf
1076e18e3516Sopenharmony_ciStarting code units: Z \xff 
1077e18e3516Sopenharmony_ciSubject length lower bound = 1
1078e18e3516Sopenharmony_ci    Z\x{100}
1079e18e3516Sopenharmony_ci 0: Z
1080e18e3516Sopenharmony_ci    \x{100}
1081e18e3516Sopenharmony_ci 0: \x{100}
1082e18e3516Sopenharmony_ci    \x{100}Z
1083e18e3516Sopenharmony_ci 0: \x{100}
1084e18e3516Sopenharmony_ci
1085e18e3516Sopenharmony_ci/[z-\x{100}]/IB,utf
1086e18e3516Sopenharmony_ci------------------------------------------------------------------
1087e18e3516Sopenharmony_ci        Bra
1088e18e3516Sopenharmony_ci        [z-\xff\x{100}]
1089e18e3516Sopenharmony_ci        Ket
1090e18e3516Sopenharmony_ci        End
1091e18e3516Sopenharmony_ci------------------------------------------------------------------
1092e18e3516Sopenharmony_ciCapture group count = 0
1093e18e3516Sopenharmony_ciOptions: utf
1094e18e3516Sopenharmony_ciStarting code units: z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 
1095e18e3516Sopenharmony_ci  \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 
1096e18e3516Sopenharmony_ci  \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 
1097e18e3516Sopenharmony_ci  \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 
1098e18e3516Sopenharmony_ci  \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 
1099e18e3516Sopenharmony_ci  \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 
1100e18e3516Sopenharmony_ci  \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 
1101e18e3516Sopenharmony_ci  \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0 
1102e18e3516Sopenharmony_ci  \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
1103e18e3516Sopenharmony_ciSubject length lower bound = 1
1104e18e3516Sopenharmony_ci
1105e18e3516Sopenharmony_ci/[z\Qa-d]Ā\E]/IB,utf
1106e18e3516Sopenharmony_ci------------------------------------------------------------------
1107e18e3516Sopenharmony_ci        Bra
1108e18e3516Sopenharmony_ci        [\-\]adz\x{100}]
1109e18e3516Sopenharmony_ci        Ket
1110e18e3516Sopenharmony_ci        End
1111e18e3516Sopenharmony_ci------------------------------------------------------------------
1112e18e3516Sopenharmony_ciCapture group count = 0
1113e18e3516Sopenharmony_ciOptions: utf
1114e18e3516Sopenharmony_ciStarting code units: - ] a d z \xff 
1115e18e3516Sopenharmony_ciSubject length lower bound = 1
1116e18e3516Sopenharmony_ci    \x{100}
1117e18e3516Sopenharmony_ci 0: \x{100}
1118e18e3516Sopenharmony_ci    Ā 
1119e18e3516Sopenharmony_ci 0: \x{100}
1120e18e3516Sopenharmony_ci
1121e18e3516Sopenharmony_ci/[ab\x{100}]abc(xyz(?1))/IB,utf
1122e18e3516Sopenharmony_ci------------------------------------------------------------------
1123e18e3516Sopenharmony_ci        Bra
1124e18e3516Sopenharmony_ci        [ab\x{100}]
1125e18e3516Sopenharmony_ci        abc
1126e18e3516Sopenharmony_ci        CBra 1
1127e18e3516Sopenharmony_ci        xyz
1128e18e3516Sopenharmony_ci        Recurse
1129e18e3516Sopenharmony_ci        Ket
1130e18e3516Sopenharmony_ci        Ket
1131e18e3516Sopenharmony_ci        End
1132e18e3516Sopenharmony_ci------------------------------------------------------------------
1133e18e3516Sopenharmony_ciCapture group count = 1
1134e18e3516Sopenharmony_ciOptions: utf
1135e18e3516Sopenharmony_ciStarting code units: a b \xff 
1136e18e3516Sopenharmony_ciLast code unit = 'z'
1137e18e3516Sopenharmony_ciSubject length lower bound = 7
1138e18e3516Sopenharmony_ci
1139e18e3516Sopenharmony_ci/\x{100}*\s/IB,utf
1140e18e3516Sopenharmony_ci------------------------------------------------------------------
1141e18e3516Sopenharmony_ci        Bra
1142e18e3516Sopenharmony_ci        \x{100}*+
1143e18e3516Sopenharmony_ci        \s
1144e18e3516Sopenharmony_ci        Ket
1145e18e3516Sopenharmony_ci        End
1146e18e3516Sopenharmony_ci------------------------------------------------------------------
1147e18e3516Sopenharmony_ciCapture group count = 0
1148e18e3516Sopenharmony_ciOptions: utf
1149e18e3516Sopenharmony_ciStarting code units: \x09 \x0a \x0b \x0c \x0d \x20 \xff 
1150e18e3516Sopenharmony_ciSubject length lower bound = 1
1151e18e3516Sopenharmony_ci
1152e18e3516Sopenharmony_ci/\x{100}*\d/IB,utf
1153e18e3516Sopenharmony_ci------------------------------------------------------------------
1154e18e3516Sopenharmony_ci        Bra
1155e18e3516Sopenharmony_ci        \x{100}*+
1156e18e3516Sopenharmony_ci        \d
1157e18e3516Sopenharmony_ci        Ket
1158e18e3516Sopenharmony_ci        End
1159e18e3516Sopenharmony_ci------------------------------------------------------------------
1160e18e3516Sopenharmony_ciCapture group count = 0
1161e18e3516Sopenharmony_ciOptions: utf
1162e18e3516Sopenharmony_ciStarting code units: 0 1 2 3 4 5 6 7 8 9 \xff 
1163e18e3516Sopenharmony_ciSubject length lower bound = 1
1164e18e3516Sopenharmony_ci
1165e18e3516Sopenharmony_ci/\x{100}*\w/IB,utf
1166e18e3516Sopenharmony_ci------------------------------------------------------------------
1167e18e3516Sopenharmony_ci        Bra
1168e18e3516Sopenharmony_ci        \x{100}*+
1169e18e3516Sopenharmony_ci        \w
1170e18e3516Sopenharmony_ci        Ket
1171e18e3516Sopenharmony_ci        End
1172e18e3516Sopenharmony_ci------------------------------------------------------------------
1173e18e3516Sopenharmony_ciCapture group count = 0
1174e18e3516Sopenharmony_ciOptions: utf
1175e18e3516Sopenharmony_ciStarting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
1176e18e3516Sopenharmony_ci  Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
1177e18e3516Sopenharmony_ci  \xff 
1178e18e3516Sopenharmony_ciSubject length lower bound = 1
1179e18e3516Sopenharmony_ci
1180e18e3516Sopenharmony_ci/\x{100}*\D/IB,utf
1181e18e3516Sopenharmony_ci------------------------------------------------------------------
1182e18e3516Sopenharmony_ci        Bra
1183e18e3516Sopenharmony_ci        \x{100}*
1184e18e3516Sopenharmony_ci        \D
1185e18e3516Sopenharmony_ci        Ket
1186e18e3516Sopenharmony_ci        End
1187e18e3516Sopenharmony_ci------------------------------------------------------------------
1188e18e3516Sopenharmony_ciCapture group count = 0
1189e18e3516Sopenharmony_ciOptions: utf
1190e18e3516Sopenharmony_ciStarting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
1191e18e3516Sopenharmony_ci  \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
1192e18e3516Sopenharmony_ci  \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
1193e18e3516Sopenharmony_ci  ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c 
1194e18e3516Sopenharmony_ci  d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 
1195e18e3516Sopenharmony_ci  \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 
1196e18e3516Sopenharmony_ci  \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 
1197e18e3516Sopenharmony_ci  \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf 
1198e18e3516Sopenharmony_ci  \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe 
1199e18e3516Sopenharmony_ci  \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd 
1200e18e3516Sopenharmony_ci  \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc 
1201e18e3516Sopenharmony_ci  \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb 
1202e18e3516Sopenharmony_ci  \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa 
1203e18e3516Sopenharmony_ci  \xfb \xfc \xfd \xfe \xff 
1204e18e3516Sopenharmony_ciSubject length lower bound = 1
1205e18e3516Sopenharmony_ci
1206e18e3516Sopenharmony_ci/\x{100}*\S/IB,utf
1207e18e3516Sopenharmony_ci------------------------------------------------------------------
1208e18e3516Sopenharmony_ci        Bra
1209e18e3516Sopenharmony_ci        \x{100}*
1210e18e3516Sopenharmony_ci        \S
1211e18e3516Sopenharmony_ci        Ket
1212e18e3516Sopenharmony_ci        End
1213e18e3516Sopenharmony_ci------------------------------------------------------------------
1214e18e3516Sopenharmony_ciCapture group count = 0
1215e18e3516Sopenharmony_ciOptions: utf
1216e18e3516Sopenharmony_ciStarting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f 
1217e18e3516Sopenharmony_ci  \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e 
1218e18e3516Sopenharmony_ci  \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C 
1219e18e3516Sopenharmony_ci  D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h 
1220e18e3516Sopenharmony_ci  i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 
1221e18e3516Sopenharmony_ci  \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 
1222e18e3516Sopenharmony_ci  \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 
1223e18e3516Sopenharmony_ci  \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 
1224e18e3516Sopenharmony_ci  \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 
1225e18e3516Sopenharmony_ci  \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf 
1226e18e3516Sopenharmony_ci  \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde 
1227e18e3516Sopenharmony_ci  \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed 
1228e18e3516Sopenharmony_ci  \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc 
1229e18e3516Sopenharmony_ci  \xfd \xfe \xff 
1230e18e3516Sopenharmony_ciSubject length lower bound = 1
1231e18e3516Sopenharmony_ci
1232e18e3516Sopenharmony_ci/\x{100}*\W/IB,utf
1233e18e3516Sopenharmony_ci------------------------------------------------------------------
1234e18e3516Sopenharmony_ci        Bra
1235e18e3516Sopenharmony_ci        \x{100}*
1236e18e3516Sopenharmony_ci        \W
1237e18e3516Sopenharmony_ci        Ket
1238e18e3516Sopenharmony_ci        End
1239e18e3516Sopenharmony_ci------------------------------------------------------------------
1240e18e3516Sopenharmony_ciCapture group count = 0
1241e18e3516Sopenharmony_ciOptions: utf
1242e18e3516Sopenharmony_ciStarting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
1243e18e3516Sopenharmony_ci  \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
1244e18e3516Sopenharmony_ci  \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
1245e18e3516Sopenharmony_ci  ? @ [ \ ] ^ ` { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 
1246e18e3516Sopenharmony_ci  \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 
1247e18e3516Sopenharmony_ci  \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 
1248e18e3516Sopenharmony_ci  \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 
1249e18e3516Sopenharmony_ci  \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 
1250e18e3516Sopenharmony_ci  \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 
1251e18e3516Sopenharmony_ci  \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 
1252e18e3516Sopenharmony_ci  \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 
1253e18e3516Sopenharmony_ci  \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
1254e18e3516Sopenharmony_ciSubject length lower bound = 1
1255e18e3516Sopenharmony_ci
1256e18e3516Sopenharmony_ci/[\x{105}-\x{109}]/IBi,utf
1257e18e3516Sopenharmony_ci------------------------------------------------------------------
1258e18e3516Sopenharmony_ci        Bra
1259e18e3516Sopenharmony_ci        [\x{104}-\x{109}]
1260e18e3516Sopenharmony_ci        Ket
1261e18e3516Sopenharmony_ci        End
1262e18e3516Sopenharmony_ci------------------------------------------------------------------
1263e18e3516Sopenharmony_ciCapture group count = 0
1264e18e3516Sopenharmony_ciOptions: caseless utf
1265e18e3516Sopenharmony_ciStarting code units: \xff 
1266e18e3516Sopenharmony_ciSubject length lower bound = 1
1267e18e3516Sopenharmony_ci    \x{104}
1268e18e3516Sopenharmony_ci 0: \x{104}
1269e18e3516Sopenharmony_ci    \x{105}
1270e18e3516Sopenharmony_ci 0: \x{105}
1271e18e3516Sopenharmony_ci    \x{109}  
1272e18e3516Sopenharmony_ci 0: \x{109}
1273e18e3516Sopenharmony_ci\= Expect no match
1274e18e3516Sopenharmony_ci    \x{100}
1275e18e3516Sopenharmony_ciNo match
1276e18e3516Sopenharmony_ci    \x{10a} 
1277e18e3516Sopenharmony_ciNo match
1278e18e3516Sopenharmony_ci    
1279e18e3516Sopenharmony_ci/[z-\x{100}]/IBi,utf
1280e18e3516Sopenharmony_ci------------------------------------------------------------------
1281e18e3516Sopenharmony_ci        Bra
1282e18e3516Sopenharmony_ci        [Zz-\xff\x{39c}\x{3bc}\x{212b}\x{1e9e}\x{212b}\x{178}\x{100}-\x{101}]
1283e18e3516Sopenharmony_ci        Ket
1284e18e3516Sopenharmony_ci        End
1285e18e3516Sopenharmony_ci------------------------------------------------------------------
1286e18e3516Sopenharmony_ciCapture group count = 0
1287e18e3516Sopenharmony_ciOptions: caseless utf
1288e18e3516Sopenharmony_ciStarting code units: Z z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 \x85 \x86 
1289e18e3516Sopenharmony_ci  \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 \x95 
1290e18e3516Sopenharmony_ci  \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 
1291e18e3516Sopenharmony_ci  \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 
1292e18e3516Sopenharmony_ci  \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 
1293e18e3516Sopenharmony_ci  \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 
1294e18e3516Sopenharmony_ci  \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 
1295e18e3516Sopenharmony_ci  \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef 
1296e18e3516Sopenharmony_ci  \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe 
1297e18e3516Sopenharmony_ci  \xff 
1298e18e3516Sopenharmony_ciSubject length lower bound = 1
1299e18e3516Sopenharmony_ci    Z
1300e18e3516Sopenharmony_ci 0: Z
1301e18e3516Sopenharmony_ci    z
1302e18e3516Sopenharmony_ci 0: z
1303e18e3516Sopenharmony_ci    \x{39c}
1304e18e3516Sopenharmony_ci 0: \x{39c}
1305e18e3516Sopenharmony_ci    \x{178}
1306e18e3516Sopenharmony_ci 0: \x{178}
1307e18e3516Sopenharmony_ci    |
1308e18e3516Sopenharmony_ci 0: |
1309e18e3516Sopenharmony_ci    \x{80}
1310e18e3516Sopenharmony_ci 0: \x{80}
1311e18e3516Sopenharmony_ci    \x{ff}
1312e18e3516Sopenharmony_ci 0: \x{ff}
1313e18e3516Sopenharmony_ci    \x{100}
1314e18e3516Sopenharmony_ci 0: \x{100}
1315e18e3516Sopenharmony_ci    \x{101} 
1316e18e3516Sopenharmony_ci 0: \x{101}
1317e18e3516Sopenharmony_ci\= Expect no match
1318e18e3516Sopenharmony_ci    \x{102}
1319e18e3516Sopenharmony_ciNo match
1320e18e3516Sopenharmony_ci    Y
1321e18e3516Sopenharmony_ciNo match
1322e18e3516Sopenharmony_ci    y           
1323e18e3516Sopenharmony_ciNo match
1324e18e3516Sopenharmony_ci
1325e18e3516Sopenharmony_ci/[z-\x{100}]/IBi,utf
1326e18e3516Sopenharmony_ci------------------------------------------------------------------
1327e18e3516Sopenharmony_ci        Bra
1328e18e3516Sopenharmony_ci        [Zz-\xff\x{39c}\x{3bc}\x{212b}\x{1e9e}\x{212b}\x{178}\x{100}-\x{101}]
1329e18e3516Sopenharmony_ci        Ket
1330e18e3516Sopenharmony_ci        End
1331e18e3516Sopenharmony_ci------------------------------------------------------------------
1332e18e3516Sopenharmony_ciCapture group count = 0
1333e18e3516Sopenharmony_ciOptions: caseless utf
1334e18e3516Sopenharmony_ciStarting code units: Z z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 \x85 \x86 
1335e18e3516Sopenharmony_ci  \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 \x95 
1336e18e3516Sopenharmony_ci  \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 
1337e18e3516Sopenharmony_ci  \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 
1338e18e3516Sopenharmony_ci  \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 
1339e18e3516Sopenharmony_ci  \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 
1340e18e3516Sopenharmony_ci  \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 
1341e18e3516Sopenharmony_ci  \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef 
1342e18e3516Sopenharmony_ci  \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe 
1343e18e3516Sopenharmony_ci  \xff 
1344e18e3516Sopenharmony_ciSubject length lower bound = 1
1345e18e3516Sopenharmony_ci
1346e18e3516Sopenharmony_ci/\x{3a3}B/IBi,utf
1347e18e3516Sopenharmony_ci------------------------------------------------------------------
1348e18e3516Sopenharmony_ci        Bra
1349e18e3516Sopenharmony_ci        clist 03a3 03c2 03c3
1350e18e3516Sopenharmony_ci     /i B
1351e18e3516Sopenharmony_ci        Ket
1352e18e3516Sopenharmony_ci        End
1353e18e3516Sopenharmony_ci------------------------------------------------------------------
1354e18e3516Sopenharmony_ciCapture group count = 0
1355e18e3516Sopenharmony_ciOptions: caseless utf
1356e18e3516Sopenharmony_ciStarting code units: \xff 
1357e18e3516Sopenharmony_ciLast code unit = 'B' (caseless)
1358e18e3516Sopenharmony_ciSubject length lower bound = 2
1359e18e3516Sopenharmony_ci
1360e18e3516Sopenharmony_ci/./utf
1361e18e3516Sopenharmony_ci    \x{110000}
1362e18e3516Sopenharmony_ciFailed: error -28: UTF-32 error: code points greater than 0x10ffff are not defined at offset 0
1363e18e3516Sopenharmony_ci
1364e18e3516Sopenharmony_ci/(*UTF)ab������z/B
1365e18e3516Sopenharmony_ci------------------------------------------------------------------
1366e18e3516Sopenharmony_ci        Bra
1367e18e3516Sopenharmony_ci        ab\x{fd}\x{bf}\x{bf}\x{bf}\x{bf}\x{bf}z
1368e18e3516Sopenharmony_ci        Ket
1369e18e3516Sopenharmony_ci        End
1370e18e3516Sopenharmony_ci------------------------------------------------------------------
1371e18e3516Sopenharmony_ci
1372e18e3516Sopenharmony_ci/ab������z/utf
1373e18e3516Sopenharmony_ci** Failed: character value greater than 0x10ffff cannot be converted to UTF
1374e18e3516Sopenharmony_ci
1375e18e3516Sopenharmony_ci/[\W\p{Any}]/B
1376e18e3516Sopenharmony_ci------------------------------------------------------------------
1377e18e3516Sopenharmony_ci        Bra
1378e18e3516Sopenharmony_ci        [\x00-/:-@[-^`{-\xff\p{Any}\x{100}-\x{ffffffff}]
1379e18e3516Sopenharmony_ci        Ket
1380e18e3516Sopenharmony_ci        End
1381e18e3516Sopenharmony_ci------------------------------------------------------------------
1382e18e3516Sopenharmony_ci    abc
1383e18e3516Sopenharmony_ci 0: a
1384e18e3516Sopenharmony_ci    123 
1385e18e3516Sopenharmony_ci 0: 1
1386e18e3516Sopenharmony_ci
1387e18e3516Sopenharmony_ci/[\W\pL]/B
1388e18e3516Sopenharmony_ci------------------------------------------------------------------
1389e18e3516Sopenharmony_ci        Bra
1390e18e3516Sopenharmony_ci        [\x00-/:-@[-^`{-\xff\p{L}\x{100}-\x{ffffffff}]
1391e18e3516Sopenharmony_ci        Ket
1392e18e3516Sopenharmony_ci        End
1393e18e3516Sopenharmony_ci------------------------------------------------------------------
1394e18e3516Sopenharmony_ci    abc
1395e18e3516Sopenharmony_ci 0: a
1396e18e3516Sopenharmony_ci    \x{100}
1397e18e3516Sopenharmony_ci 0: \x{100}
1398e18e3516Sopenharmony_ci    \x{308}  
1399e18e3516Sopenharmony_ci 0: \x{308}
1400e18e3516Sopenharmony_ci\= Expect no match
1401e18e3516Sopenharmony_ci    123     
1402e18e3516Sopenharmony_ciNo match
1403e18e3516Sopenharmony_ci
1404e18e3516Sopenharmony_ci/[\s[:^ascii:]]/B,ucp
1405e18e3516Sopenharmony_ci------------------------------------------------------------------
1406e18e3516Sopenharmony_ci        Bra
1407e18e3516Sopenharmony_ci        [\x80-\xff\p{Xsp}\x{100}-\x{ffffffff}]
1408e18e3516Sopenharmony_ci        Ket
1409e18e3516Sopenharmony_ci        End
1410e18e3516Sopenharmony_ci------------------------------------------------------------------
1411e18e3516Sopenharmony_ci
1412e18e3516Sopenharmony_ci/\pP/ucp
1413e18e3516Sopenharmony_ci    \x{7fffffff}
1414e18e3516Sopenharmony_ciNo match
1415e18e3516Sopenharmony_ci
1416e18e3516Sopenharmony_ci# A special extra option allows excaped surrogate code points in 32-bit mode,
1417e18e3516Sopenharmony_ci# but subjects containing them must not be UTF-checked. These patterns give
1418e18e3516Sopenharmony_ci# errors in 16-bit mode.
1419e18e3516Sopenharmony_ci
1420e18e3516Sopenharmony_ci/\x{d800}/I,utf,allow_surrogate_escapes
1421e18e3516Sopenharmony_ciCapture group count = 0
1422e18e3516Sopenharmony_ciOptions: utf
1423e18e3516Sopenharmony_ciExtra options: allow_surrogate_escapes
1424e18e3516Sopenharmony_ciFirst code unit = \x{d800}
1425e18e3516Sopenharmony_ciSubject length lower bound = 1
1426e18e3516Sopenharmony_ci    \x{d800}\=no_utf_check
1427e18e3516Sopenharmony_ci 0: \x{d800}
1428e18e3516Sopenharmony_ci
1429e18e3516Sopenharmony_ci/\udfff\o{157401}/utf,alt_bsux,allow_surrogate_escapes
1430e18e3516Sopenharmony_ci    \x{dfff}\x{df01}\=no_utf_check
1431e18e3516Sopenharmony_ci 0: \x{dfff}\x{df01}
1432e18e3516Sopenharmony_ci
1433e18e3516Sopenharmony_ci# This has different starting code units in 8-bit mode. 
1434e18e3516Sopenharmony_ci
1435e18e3516Sopenharmony_ci/^[^ab]/IB,utf
1436e18e3516Sopenharmony_ci------------------------------------------------------------------
1437e18e3516Sopenharmony_ci        Bra
1438e18e3516Sopenharmony_ci        ^
1439e18e3516Sopenharmony_ci        [\x00-`c-\xff] (neg)
1440e18e3516Sopenharmony_ci        Ket
1441e18e3516Sopenharmony_ci        End
1442e18e3516Sopenharmony_ci------------------------------------------------------------------
1443e18e3516Sopenharmony_ciCapture group count = 0
1444e18e3516Sopenharmony_ciCompile options: utf
1445e18e3516Sopenharmony_ciOverall options: anchored utf
1446e18e3516Sopenharmony_ciStarting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
1447e18e3516Sopenharmony_ci  \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
1448e18e3516Sopenharmony_ci  \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 
1449e18e3516Sopenharmony_ci  5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y 
1450e18e3516Sopenharmony_ci  Z [ \ ] ^ _ ` c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 
1451e18e3516Sopenharmony_ci  \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e 
1452e18e3516Sopenharmony_ci  \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d 
1453e18e3516Sopenharmony_ci  \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac 
1454e18e3516Sopenharmony_ci  \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb 
1455e18e3516Sopenharmony_ci  \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca 
1456e18e3516Sopenharmony_ci  \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 
1457e18e3516Sopenharmony_ci  \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 
1458e18e3516Sopenharmony_ci  \xe9 \xea \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 
1459e18e3516Sopenharmony_ci  \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
1460e18e3516Sopenharmony_ciSubject length lower bound = 1
1461e18e3516Sopenharmony_ci    c
1462e18e3516Sopenharmony_ci 0: c
1463e18e3516Sopenharmony_ci    \x{ff}
1464e18e3516Sopenharmony_ci 0: \x{ff}
1465e18e3516Sopenharmony_ci    \x{100}
1466e18e3516Sopenharmony_ci 0: \x{100}
1467e18e3516Sopenharmony_ci\= Expect no match
1468e18e3516Sopenharmony_ci    aaa
1469e18e3516Sopenharmony_ciNo match
1470e18e3516Sopenharmony_ci    
1471e18e3516Sopenharmony_ci# Offsets are different in 8-bit mode. 
1472e18e3516Sopenharmony_ci
1473e18e3516Sopenharmony_ci/(?<=abc)(|def)/g,utf,replace=<$0>,substitute_callout
1474e18e3516Sopenharmony_ci    123abcáyzabcdef789abcሴqr
1475e18e3516Sopenharmony_ci 1(2) Old 6 6 "" New 6 8 "<>"
1476e18e3516Sopenharmony_ci 2(2) Old 12 12 "" New 14 16 "<>"
1477e18e3516Sopenharmony_ci 3(2) Old 12 15 "def" New 16 21 "<def>"
1478e18e3516Sopenharmony_ci 4(2) Old 21 21 "" New 27 29 "<>"
1479e18e3516Sopenharmony_ci 4: 123abc<>\x{e1}yzabc<><def>789abc<>\x{1234}qr
1480e18e3516Sopenharmony_ci    
1481e18e3516Sopenharmony_ci# A few script run tests in non-UTF mode (but they need Unicode support)
1482e18e3516Sopenharmony_ci
1483e18e3516Sopenharmony_ci/^(*script_run:.{4})/
1484e18e3516Sopenharmony_ci    \x{3041}\x{30a1}\x{3007}\x{3007}   Hiragana Katakana Han Han
1485e18e3516Sopenharmony_ci 0: \x{3041}\x{30a1}\x{3007}\x{3007}
1486e18e3516Sopenharmony_ci    \x{30a1}\x{3041}\x{3007}\x{3007}   Katakana Hiragana Han Han
1487e18e3516Sopenharmony_ci 0: \x{30a1}\x{3041}\x{3007}\x{3007}
1488e18e3516Sopenharmony_ci    \x{1100}\x{2e80}\x{2e80}\x{1101}   Hangul Han Han Hangul
1489e18e3516Sopenharmony_ci 0: \x{1100}\x{2e80}\x{2e80}\x{1101}
1490e18e3516Sopenharmony_ci 
1491e18e3516Sopenharmony_ci/^(*sr:.*)/utf,allow_surrogate_escapes
1492e18e3516Sopenharmony_ci    \x{2e80}\x{3105}\x{2e80}\x{30a1}   Han Bopomofo Han Katakana
1493e18e3516Sopenharmony_ci 0: \x{2e80}\x{3105}\x{2e80}
1494e18e3516Sopenharmony_ci    \x{d800}\x{dfff}                   Surrogates (Unknown) \=no_utf_check
1495e18e3516Sopenharmony_ci 0: \x{d800}
1496e18e3516Sopenharmony_ci
1497e18e3516Sopenharmony_ci/(?(n/utf
1498e18e3516Sopenharmony_ciFailed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
1499e18e3516Sopenharmony_ci
1500e18e3516Sopenharmony_ci/(?(á/utf
1501e18e3516Sopenharmony_ciFailed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
1502e18e3516Sopenharmony_ci
1503e18e3516Sopenharmony_ci# Invalid UTF-16/32 tests.
1504e18e3516Sopenharmony_ci
1505e18e3516Sopenharmony_ci/.../g,match_invalid_utf
1506e18e3516Sopenharmony_ci    abcd\x{df00}wxzy\x{df00}pqrs
1507e18e3516Sopenharmony_ci 0: abc
1508e18e3516Sopenharmony_ci 0: wxz
1509e18e3516Sopenharmony_ci 0: pqr
1510e18e3516Sopenharmony_ci    abcd\x{80}wxzy\x{df00}pqrs
1511e18e3516Sopenharmony_ci 0: abc
1512e18e3516Sopenharmony_ci 0: d\x{80}w
1513e18e3516Sopenharmony_ci 0: xzy
1514e18e3516Sopenharmony_ci 0: pqr
1515e18e3516Sopenharmony_ci
1516e18e3516Sopenharmony_ci/abc/match_invalid_utf
1517e18e3516Sopenharmony_ci    ab\x{df00}ab\=ph
1518e18e3516Sopenharmony_ciPartial match: ab
1519e18e3516Sopenharmony_ci\= Expect no match
1520e18e3516Sopenharmony_ci    ab\x{df00}cdef\=ph
1521e18e3516Sopenharmony_ciNo match
1522e18e3516Sopenharmony_ci
1523e18e3516Sopenharmony_ci/ab$/match_invalid_utf
1524e18e3516Sopenharmony_ci    ab\x{df00}cdeab
1525e18e3516Sopenharmony_ci 0: ab
1526e18e3516Sopenharmony_ci\= Expect no match
1527e18e3516Sopenharmony_ci    ab\x{df00}cde
1528e18e3516Sopenharmony_ciNo match
1529e18e3516Sopenharmony_ci
1530e18e3516Sopenharmony_ci/.../g,match_invalid_utf
1531e18e3516Sopenharmony_ci    abcd\x{80}wxzy\x{df00}pqrs
1532e18e3516Sopenharmony_ci 0: abc
1533e18e3516Sopenharmony_ci 0: d\x{80}w
1534e18e3516Sopenharmony_ci 0: xzy
1535e18e3516Sopenharmony_ci 0: pqr
1536e18e3516Sopenharmony_ci
1537e18e3516Sopenharmony_ci/(?<=x)../g,match_invalid_utf
1538e18e3516Sopenharmony_ci    abcd\x{80}wxzy\x{df00}pqrs
1539e18e3516Sopenharmony_ci 0: zy
1540e18e3516Sopenharmony_ci    abcd\x{80}wxzy\x{df00}xpqrs
1541e18e3516Sopenharmony_ci 0: zy
1542e18e3516Sopenharmony_ci 0: pq
1543e18e3516Sopenharmony_ci
1544e18e3516Sopenharmony_ci/X$/match_invalid_utf
1545e18e3516Sopenharmony_ci\= Expect no match
1546e18e3516Sopenharmony_ci    X\x{df00}
1547e18e3516Sopenharmony_ciNo match
1548e18e3516Sopenharmony_ci    
1549e18e3516Sopenharmony_ci/(?<=..)X/match_invalid_utf,aftertext
1550e18e3516Sopenharmony_ci    AB\x{df00}AQXYZ
1551e18e3516Sopenharmony_ci 0: X
1552e18e3516Sopenharmony_ci 0+ YZ
1553e18e3516Sopenharmony_ci    AB\x{df00}AQXYZ\=offset=5
1554e18e3516Sopenharmony_ci 0: X
1555e18e3516Sopenharmony_ci 0+ YZ
1556e18e3516Sopenharmony_ci    AB\x{df00}\x{df00}AXYZXC\=offset=5
1557e18e3516Sopenharmony_ci 0: X
1558e18e3516Sopenharmony_ci 0+ C
1559e18e3516Sopenharmony_ci\= Expect no match
1560e18e3516Sopenharmony_ci    AB\x{df00}XYZ
1561e18e3516Sopenharmony_ciNo match
1562e18e3516Sopenharmony_ci    AB\x{df00}XYZ\=offset=3 
1563e18e3516Sopenharmony_ciNo match
1564e18e3516Sopenharmony_ci    AB\x{df00}AXYZ
1565e18e3516Sopenharmony_ciNo match
1566e18e3516Sopenharmony_ci    AB\x{df00}AXYZ\=offset=4
1567e18e3516Sopenharmony_ciNo match
1568e18e3516Sopenharmony_ci    AB\x{df00}\x{df00}AXYZ\=offset=5
1569e18e3516Sopenharmony_ciNo match
1570e18e3516Sopenharmony_ci
1571e18e3516Sopenharmony_ci/.../match_invalid_utf
1572e18e3516Sopenharmony_ci\= Expect no match
1573e18e3516Sopenharmony_ci    A\x{d800}B
1574e18e3516Sopenharmony_ciNo match
1575e18e3516Sopenharmony_ci    A\x{110000}B 
1576e18e3516Sopenharmony_ciNo match
1577e18e3516Sopenharmony_ci    
1578e18e3516Sopenharmony_ci/aa/utf,ucp,match_invalid_utf,global
1579e18e3516Sopenharmony_ci    aa\x{d800}aa
1580e18e3516Sopenharmony_ci 0: aa
1581e18e3516Sopenharmony_ci 0: aa
1582e18e3516Sopenharmony_ci
1583e18e3516Sopenharmony_ci/aa/utf,ucp,match_invalid_utf,global
1584e18e3516Sopenharmony_ci    \x{d800}aa
1585e18e3516Sopenharmony_ci 0: aa
1586e18e3516Sopenharmony_ci
1587e18e3516Sopenharmony_ci# ---------------------------------------------------- 
1588e18e3516Sopenharmony_ci
1589e18e3516Sopenharmony_ci/(*UTF)(?=\x{123})/I
1590e18e3516Sopenharmony_ciCapture group count = 0
1591e18e3516Sopenharmony_ciMay match empty string
1592e18e3516Sopenharmony_ciCompile options: <none>
1593e18e3516Sopenharmony_ciOverall options: utf
1594e18e3516Sopenharmony_ciFirst code unit = \x{123}
1595e18e3516Sopenharmony_ciSubject length lower bound = 1
1596e18e3516Sopenharmony_ci
1597e18e3516Sopenharmony_ci/[\x{c1}\x{e1}]X[\x{145}\x{146}]/I,utf
1598e18e3516Sopenharmony_ciCapture group count = 0
1599e18e3516Sopenharmony_ciOptions: utf
1600e18e3516Sopenharmony_ciFirst code unit = \xc1 (caseless)
1601e18e3516Sopenharmony_ciLast code unit = \x{145} (caseless)
1602e18e3516Sopenharmony_ciSubject length lower bound = 3
1603e18e3516Sopenharmony_ci
1604e18e3516Sopenharmony_ci/[\xff\x{ffff}]/I,utf
1605e18e3516Sopenharmony_ciCapture group count = 0
1606e18e3516Sopenharmony_ciOptions: utf
1607e18e3516Sopenharmony_ciStarting code units: \xff 
1608e18e3516Sopenharmony_ciSubject length lower bound = 1
1609e18e3516Sopenharmony_ci
1610e18e3516Sopenharmony_ci/[\xff\x{ff}]/I,utf
1611e18e3516Sopenharmony_ciCapture group count = 0
1612e18e3516Sopenharmony_ciOptions: utf
1613e18e3516Sopenharmony_ciStarting code units: \xff 
1614e18e3516Sopenharmony_ciSubject length lower bound = 1
1615e18e3516Sopenharmony_ci
1616e18e3516Sopenharmony_ci/[\xff\x{ff}]/I
1617e18e3516Sopenharmony_ciCapture group count = 0
1618e18e3516Sopenharmony_ciStarting code units: \xff 
1619e18e3516Sopenharmony_ciSubject length lower bound = 1
1620e18e3516Sopenharmony_ci
1621e18e3516Sopenharmony_ci/[Ss]/I
1622e18e3516Sopenharmony_ciCapture group count = 0
1623e18e3516Sopenharmony_ciFirst code unit = 'S' (caseless)
1624e18e3516Sopenharmony_ciSubject length lower bound = 1
1625e18e3516Sopenharmony_ci
1626e18e3516Sopenharmony_ci/[Ss]/I,utf
1627e18e3516Sopenharmony_ciCapture group count = 0
1628e18e3516Sopenharmony_ciOptions: utf
1629e18e3516Sopenharmony_ciStarting code units: S s 
1630e18e3516Sopenharmony_ciSubject length lower bound = 1
1631e18e3516Sopenharmony_ci
1632e18e3516Sopenharmony_ci/(?:\x{ff}|\x{3000})/I,utf
1633e18e3516Sopenharmony_ciCapture group count = 0
1634e18e3516Sopenharmony_ciOptions: utf
1635e18e3516Sopenharmony_ciStarting code units: \xff 
1636e18e3516Sopenharmony_ciSubject length lower bound = 1
1637e18e3516Sopenharmony_ci
1638e18e3516Sopenharmony_ci# ---------------------------------------------------- 
1639e18e3516Sopenharmony_ci# UCP and casing tests
1640e18e3516Sopenharmony_ci
1641e18e3516Sopenharmony_ci/\x{120}/i,I
1642e18e3516Sopenharmony_ciCapture group count = 0
1643e18e3516Sopenharmony_ciOptions: caseless
1644e18e3516Sopenharmony_ciFirst code unit = \x{120}
1645e18e3516Sopenharmony_ciSubject length lower bound = 1
1646e18e3516Sopenharmony_ci
1647e18e3516Sopenharmony_ci/\x{c1}/i,I,ucp
1648e18e3516Sopenharmony_ciCapture group count = 0
1649e18e3516Sopenharmony_ciOptions: caseless ucp
1650e18e3516Sopenharmony_ciFirst code unit = \xc1 (caseless)
1651e18e3516Sopenharmony_ciSubject length lower bound = 1
1652e18e3516Sopenharmony_ci
1653e18e3516Sopenharmony_ci/[\x{120}\x{121}]/iB,ucp
1654e18e3516Sopenharmony_ci------------------------------------------------------------------
1655e18e3516Sopenharmony_ci        Bra
1656e18e3516Sopenharmony_ci     /i \x{120}
1657e18e3516Sopenharmony_ci        Ket
1658e18e3516Sopenharmony_ci        End
1659e18e3516Sopenharmony_ci------------------------------------------------------------------
1660e18e3516Sopenharmony_ci
1661e18e3516Sopenharmony_ci/[ab\x{120}]+/iB,ucp
1662e18e3516Sopenharmony_ci------------------------------------------------------------------
1663e18e3516Sopenharmony_ci        Bra
1664e18e3516Sopenharmony_ci        [ABab\x{120}-\x{121}]++
1665e18e3516Sopenharmony_ci        Ket
1666e18e3516Sopenharmony_ci        End
1667e18e3516Sopenharmony_ci------------------------------------------------------------------
1668e18e3516Sopenharmony_ci    aABb\x{121}\x{120}
1669e18e3516Sopenharmony_ci 0: aABb\x{121}\x{120}
1670e18e3516Sopenharmony_ci
1671e18e3516Sopenharmony_ci/\x{c1}/i,no_start_optimize
1672e18e3516Sopenharmony_ci\= Expect no match
1673e18e3516Sopenharmony_ci    \x{e1}
1674e18e3516Sopenharmony_ciNo match
1675e18e3516Sopenharmony_ci
1676e18e3516Sopenharmony_ci/\x{120}\x{c1}/i,ucp,no_start_optimize
1677e18e3516Sopenharmony_ci    \x{121}\x{e1}
1678e18e3516Sopenharmony_ci 0: \x{121}\xe1
1679e18e3516Sopenharmony_ci
1680e18e3516Sopenharmony_ci/\x{120}\x{c1}/i,ucp
1681e18e3516Sopenharmony_ci    \x{121}\x{e1}
1682e18e3516Sopenharmony_ci 0: \x{121}\xe1
1683e18e3516Sopenharmony_ci
1684e18e3516Sopenharmony_ci/[^\x{120}]/i,no_start_optimize
1685e18e3516Sopenharmony_ci    \x{121}
1686e18e3516Sopenharmony_ci 0: \x{121}
1687e18e3516Sopenharmony_ci
1688e18e3516Sopenharmony_ci/[^\x{120}]/i,ucp,no_start_optimize
1689e18e3516Sopenharmony_ci\= Expect no match
1690e18e3516Sopenharmony_ci    \x{121}
1691e18e3516Sopenharmony_ciNo match
1692e18e3516Sopenharmony_ci
1693e18e3516Sopenharmony_ci/[^\x{120}]/i
1694e18e3516Sopenharmony_ci    \x{121}
1695e18e3516Sopenharmony_ci 0: \x{121}
1696e18e3516Sopenharmony_ci
1697e18e3516Sopenharmony_ci/[^\x{120}]/i,ucp
1698e18e3516Sopenharmony_ci\= Expect no match
1699e18e3516Sopenharmony_ci    \x{121}
1700e18e3516Sopenharmony_ciNo match
1701e18e3516Sopenharmony_ci    
1702e18e3516Sopenharmony_ci/\x{120}{2}/i,ucp
1703e18e3516Sopenharmony_ci    \x{121}\x{121}
1704e18e3516Sopenharmony_ci 0: \x{121}\x{121}
1705e18e3516Sopenharmony_ci
1706e18e3516Sopenharmony_ci/[^\x{120}]{2}/i,ucp
1707e18e3516Sopenharmony_ci\= Expect no match
1708e18e3516Sopenharmony_ci    \x{121}\x{121}
1709e18e3516Sopenharmony_ciNo match
1710e18e3516Sopenharmony_ci
1711e18e3516Sopenharmony_ci/\x{c1}+\x{e1}/iB,ucp
1712e18e3516Sopenharmony_ci------------------------------------------------------------------
1713e18e3516Sopenharmony_ci        Bra
1714e18e3516Sopenharmony_ci     /i \x{c1}+
1715e18e3516Sopenharmony_ci     /i \x{e1}
1716e18e3516Sopenharmony_ci        Ket
1717e18e3516Sopenharmony_ci        End
1718e18e3516Sopenharmony_ci------------------------------------------------------------------
1719e18e3516Sopenharmony_ci    \x{c1}\x{c1}\x{c1}
1720e18e3516Sopenharmony_ci 0: \xc1\xc1\xc1
1721e18e3516Sopenharmony_ci
1722e18e3516Sopenharmony_ci/\x{c1}+\x{e1}/iIB,ucp
1723e18e3516Sopenharmony_ci------------------------------------------------------------------
1724e18e3516Sopenharmony_ci        Bra
1725e18e3516Sopenharmony_ci     /i \x{c1}+
1726e18e3516Sopenharmony_ci     /i \x{e1}
1727e18e3516Sopenharmony_ci        Ket
1728e18e3516Sopenharmony_ci        End
1729e18e3516Sopenharmony_ci------------------------------------------------------------------
1730e18e3516Sopenharmony_ciCapture group count = 0
1731e18e3516Sopenharmony_ciOptions: caseless ucp
1732e18e3516Sopenharmony_ciFirst code unit = \xc1 (caseless)
1733e18e3516Sopenharmony_ciLast code unit = \xe1 (caseless)
1734e18e3516Sopenharmony_ciSubject length lower bound = 2
1735e18e3516Sopenharmony_ci    \x{c1}\x{c1}\x{c1}
1736e18e3516Sopenharmony_ci 0: \xc1\xc1\xc1
1737e18e3516Sopenharmony_ci    \x{e1}\x{e1}\x{e1} 
1738e18e3516Sopenharmony_ci 0: \xe1\xe1\xe1
1739e18e3516Sopenharmony_ci
1740e18e3516Sopenharmony_ci/a|\x{c1}/iI,ucp
1741e18e3516Sopenharmony_ciCapture group count = 0
1742e18e3516Sopenharmony_ciOptions: caseless ucp
1743e18e3516Sopenharmony_ciStarting code units: A a \xc1 \xe1 
1744e18e3516Sopenharmony_ciSubject length lower bound = 1
1745e18e3516Sopenharmony_ci    \x{e1}xxx
1746e18e3516Sopenharmony_ci 0: \xe1
1747e18e3516Sopenharmony_ci
1748e18e3516Sopenharmony_ci/\x{c1}|\x{e1}/iI,ucp
1749e18e3516Sopenharmony_ciCapture group count = 0
1750e18e3516Sopenharmony_ciOptions: caseless ucp
1751e18e3516Sopenharmony_ciFirst code unit = \xc1 (caseless)
1752e18e3516Sopenharmony_ciSubject length lower bound = 1
1753e18e3516Sopenharmony_ci
1754e18e3516Sopenharmony_ci/X(\x{e1})Y/ucp,replace=>\U$1<,substitute_extended
1755e18e3516Sopenharmony_ci    X\x{e1}Y
1756e18e3516Sopenharmony_ci 1: >\xc1<
1757e18e3516Sopenharmony_ci
1758e18e3516Sopenharmony_ci/X(\x{121})Y/ucp,replace=>\U$1<,substitute_extended
1759e18e3516Sopenharmony_ci    X\x{121}Y
1760e18e3516Sopenharmony_ci 1: >\x{120}<
1761e18e3516Sopenharmony_ci
1762e18e3516Sopenharmony_ci/s/i,ucp
1763e18e3516Sopenharmony_ci    \x{17f} 
1764e18e3516Sopenharmony_ci 0: \x{17f}
1765e18e3516Sopenharmony_ci
1766e18e3516Sopenharmony_ci/s/i,utf
1767e18e3516Sopenharmony_ci    \x{17f} 
1768e18e3516Sopenharmony_ci 0: \x{17f}
1769e18e3516Sopenharmony_ci
1770e18e3516Sopenharmony_ci/[^s]/i,ucp
1771e18e3516Sopenharmony_ci\= Expect no match
1772e18e3516Sopenharmony_ci    \x{17f} 
1773e18e3516Sopenharmony_ciNo match
1774e18e3516Sopenharmony_ci
1775e18e3516Sopenharmony_ci/[^s]/i,utf
1776e18e3516Sopenharmony_ci\= Expect no match
1777e18e3516Sopenharmony_ci    \x{17f} 
1778e18e3516Sopenharmony_ciNo match
1779e18e3516Sopenharmony_ci
1780e18e3516Sopenharmony_ci# ---------------------------------------------------- 
1781e18e3516Sopenharmony_ci
1782e18e3516Sopenharmony_ci# End of testinput12
1783