Annotation of embedaddon/pcre/testdata/testinput17, revision 1.1.1.3
1.1.1.3 ! misho 1: /-- This set of tests is for the 16- and 32-bit library's basic (non-UTF-16
! 2: or -32) features that are not compatible with the 8-bit library, or which
! 3: give different output in 16- or 32-bit mode. --/
1.1 misho 4:
5: /a\Cb/
6: aXb
7: a\nb
8:
9: /[^\x{c4}]/DZ
10:
11: /\x{100}/I
12:
13: / (?: [\040\t] | \(
14: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
15: \) )* # optional leading comment
16: (?: (?:
17: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
18: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
19: |
20: " (?: # opening quote...
21: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
22: | # or
23: \\ [^\x80-\xff] # Escaped something (something != CR)
24: )* " # closing quote
25: ) # initial word
26: (?: (?: [\040\t] | \(
27: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
28: \) )* \. (?: [\040\t] | \(
29: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
30: \) )* (?:
31: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
32: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
33: |
34: " (?: # opening quote...
35: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
36: | # or
37: \\ [^\x80-\xff] # Escaped something (something != CR)
38: )* " # closing quote
39: ) )* # further okay, if led by a period
40: (?: [\040\t] | \(
41: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
42: \) )* @ (?: [\040\t] | \(
43: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
44: \) )* (?:
45: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
46: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
47: | \[ # [
48: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
49: \] # ]
50: ) # initial subdomain
51: (?: #
52: (?: [\040\t] | \(
53: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
54: \) )* \. # if led by a period...
55: (?: [\040\t] | \(
56: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
57: \) )* (?:
58: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
59: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
60: | \[ # [
61: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
62: \] # ]
63: ) # ...further okay
64: )*
65: # address
66: | # or
67: (?:
68: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
69: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
70: |
71: " (?: # opening quote...
72: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
73: | # or
74: \\ [^\x80-\xff] # Escaped something (something != CR)
75: )* " # closing quote
76: ) # one word, optionally followed by....
77: (?:
78: [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
79: \(
80: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
81: \) | # comments, or...
82:
83: " (?: # opening quote...
84: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
85: | # or
86: \\ [^\x80-\xff] # Escaped something (something != CR)
87: )* " # closing quote
88: # quoted strings
89: )*
90: < (?: [\040\t] | \(
91: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
92: \) )* # leading <
93: (?: @ (?: [\040\t] | \(
94: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
95: \) )* (?:
96: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
97: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
98: | \[ # [
99: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
100: \] # ]
101: ) # initial subdomain
102: (?: #
103: (?: [\040\t] | \(
104: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
105: \) )* \. # if led by a period...
106: (?: [\040\t] | \(
107: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
108: \) )* (?:
109: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
110: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
111: | \[ # [
112: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
113: \] # ]
114: ) # ...further okay
115: )*
116:
117: (?: (?: [\040\t] | \(
118: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
119: \) )* , (?: [\040\t] | \(
120: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
121: \) )* @ (?: [\040\t] | \(
122: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
123: \) )* (?:
124: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
125: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
126: | \[ # [
127: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
128: \] # ]
129: ) # initial subdomain
130: (?: #
131: (?: [\040\t] | \(
132: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
133: \) )* \. # if led by a period...
134: (?: [\040\t] | \(
135: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
136: \) )* (?:
137: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
138: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
139: | \[ # [
140: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
141: \] # ]
142: ) # ...further okay
143: )*
144: )* # further okay, if led by comma
145: : # closing colon
146: (?: [\040\t] | \(
147: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
148: \) )* )? # optional route
149: (?:
150: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
151: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
152: |
153: " (?: # opening quote...
154: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
155: | # or
156: \\ [^\x80-\xff] # Escaped something (something != CR)
157: )* " # closing quote
158: ) # initial word
159: (?: (?: [\040\t] | \(
160: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
161: \) )* \. (?: [\040\t] | \(
162: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
163: \) )* (?:
164: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
165: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
166: |
167: " (?: # opening quote...
168: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
169: | # or
170: \\ [^\x80-\xff] # Escaped something (something != CR)
171: )* " # closing quote
172: ) )* # further okay, if led by a period
173: (?: [\040\t] | \(
174: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
175: \) )* @ (?: [\040\t] | \(
176: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
177: \) )* (?:
178: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
179: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
180: | \[ # [
181: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
182: \] # ]
183: ) # initial subdomain
184: (?: #
185: (?: [\040\t] | \(
186: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
187: \) )* \. # if led by a period...
188: (?: [\040\t] | \(
189: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
190: \) )* (?:
191: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
192: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
193: | \[ # [
194: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
195: \] # ]
196: ) # ...further okay
197: )*
198: # address spec
199: (?: [\040\t] | \(
200: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
201: \) )* > # trailing >
202: # name and address
203: ) (?: [\040\t] | \(
204: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
205: \) )* # optional trailing comment
206: /xSI
207:
208: /[\h]/BZ
209: >\x09<
210:
211: /[\h]+/BZ
212: >\x09\x20\xa0<
213:
214: /[\v]/BZ
215:
216: /[^\h]/BZ
217:
218: /\h+/SI
219: \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
220: \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
221:
222: /[\h\x{dc00}]+/BZSI
223: \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
224: \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
225:
226: /\H+/SI
227: \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
228: \x{2000}\x{200a}\x{1fff}\x{200b}
229: \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
230: \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
231:
1.1.1.3 ! misho 232: /[\H\x{d800}]+/
1.1 misho 233: \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
234: \x{2000}\x{200a}\x{1fff}\x{200b}
235: \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
236: \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
237:
238: /\v+/SI
239: \x{2027}\x{2030}\x{2028}\x{2029}
240: \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
241:
242: /[\v\x{dc00}]+/BZSI
243: \x{2027}\x{2030}\x{2028}\x{2029}
244: \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
245:
246: /\V+/SI
247: \x{2028}\x{2029}\x{2027}\x{2030}
248: \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
249:
1.1.1.3 ! misho 250: /[\V\x{d800}]+/
1.1 misho 251: \x{2028}\x{2029}\x{2027}\x{2030}
252: \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
253:
254: /\R+/SI<bsr_unicode>
255: \x{2027}\x{2030}\x{2028}\x{2029}
256: \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
257:
258: /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
259: \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
260:
1.1.1.2 misho 261: /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZ
262:
263: /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZi
264:
265: /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZ
266:
267: /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZi
268:
269: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
270: XX
271:
272: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
273: XX
274:
275: /\u0100/<JS>BZ
276:
277: /[\u0100-\u0200]/<JS>BZ
278:
279: /\ud800/<JS>BZ
280:
1.1.1.3 ! misho 281: /^\x{ffff}+/i
! 282: \x{ffff}
! 283:
! 284: /^\x{ffff}?/i
! 285: \x{ffff}
! 286:
! 287: /^\x{ffff}*/i
! 288: \x{ffff}
! 289:
! 290: /^\x{ffff}{3}/i
! 291: \x{ffff}\x{ffff}\x{ffff}
! 292:
! 293: /^\x{ffff}{0,3}/i
! 294: \x{ffff}
! 295:
1.1 misho 296: /-- End of testinput17 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>