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