Annotation of embedaddon/pcre/testdata/testinput14, revision 1.1.1.5
1.1.1.5 ! misho 1: /-- This set of tests is run only with the 8-bit library. They do not require
! 2: UTF-8 or Unicode property support. The file starts with all the tests of
! 3: the POSIX interface, because that is supported only with the 8-bit library.
! 4: --/
! 5:
! 6: < forbid 8W
1.1 misho 7:
1.1.1.2 misho 8: /abc/P
9: abc
10: *** Failers
11:
12: /^abc|def/P
13: abcdef
14: abcdef\B
15:
16: /.*((abc)$|(def))/P
17: defabc
18: \Zdefabc
19:
20: /the quick brown fox/P
21: the quick brown fox
22: *** Failers
23: The Quick Brown Fox
24:
25: /the quick brown fox/Pi
26: the quick brown fox
27: The Quick Brown Fox
28:
29: /abc.def/P
30: *** Failers
31: abc\ndef
32:
33: /abc$/P
34: abc
35: abc\n
36:
37: /(abc)\2/P
1.1 misho 38:
1.1.1.2 misho 39: /(abc\1)/P
40: abc
41:
42: /a*(b+)(z)(z)/P
43: aaaabbbbzzzz
44: aaaabbbbzzzz\O0
45: aaaabbbbzzzz\O1
46: aaaabbbbzzzz\O2
47: aaaabbbbzzzz\O3
48: aaaabbbbzzzz\O4
49: aaaabbbbzzzz\O5
50:
51: /ab.cd/P
52: ab-cd
53: ab=cd
54: ** Failers
55: ab\ncd
1.1 misho 56:
1.1.1.2 misho 57: /ab.cd/Ps
58: ab-cd
59: ab=cd
60: ab\ncd
61:
62: /a(b)c/PN
63: abc
1.1 misho 64:
1.1.1.2 misho 65: /a(?P<name>b)c/PN
1.1 misho 66: abc
67:
1.1.1.2 misho 68: /a?|b?/P
69: abc
70: ** Failers
71: ddd\N
72:
73: /\w+A/P
74: CDAAAAB
75:
76: /\w+A/PU
77: CDAAAAB
78:
79: /\Biss\B/I+P
80: Mississippi
81:
82: /abc/\P
83:
84: /-- End of POSIX tests --/
85:
86: /a\Cb/
87: aXb
88: a\nb
89: ** Failers (too big char)
90: A\x{123}B
1.1.1.5 ! misho 91: A\o{443}B
1.1.1.2 misho 92:
93: /\x{100}/I
94:
1.1.1.5 ! misho 95: /\o{400}/I
! 96:
1.1.1.2 misho 97: / (?: [\040\t] | \(
98: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
99: \) )* # optional leading comment
100: (?: (?:
101: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
102: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
103: |
104: " (?: # opening quote...
105: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
106: | # or
107: \\ [^\x80-\xff] # Escaped something (something != CR)
108: )* " # closing quote
109: ) # initial word
110: (?: (?: [\040\t] | \(
111: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
112: \) )* \. (?: [\040\t] | \(
113: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
114: \) )* (?:
115: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
116: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
117: |
118: " (?: # opening quote...
119: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
120: | # or
121: \\ [^\x80-\xff] # Escaped something (something != CR)
122: )* " # closing quote
123: ) )* # further okay, if led by a period
124: (?: [\040\t] | \(
125: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
126: \) )* @ (?: [\040\t] | \(
127: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
128: \) )* (?:
129: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
130: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
131: | \[ # [
132: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
133: \] # ]
134: ) # initial subdomain
135: (?: #
136: (?: [\040\t] | \(
137: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
138: \) )* \. # if led by a period...
139: (?: [\040\t] | \(
140: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
141: \) )* (?:
142: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
143: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
144: | \[ # [
145: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
146: \] # ]
147: ) # ...further okay
148: )*
149: # address
150: | # or
151: (?:
152: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
153: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
154: |
155: " (?: # opening quote...
156: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
157: | # or
158: \\ [^\x80-\xff] # Escaped something (something != CR)
159: )* " # closing quote
160: ) # one word, optionally followed by....
161: (?:
162: [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
163: \(
164: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
165: \) | # comments, or...
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: # quoted strings
173: )*
174: < (?: [\040\t] | \(
175: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
176: \) )* # leading <
177: (?: @ (?: [\040\t] | \(
178: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
179: \) )* (?:
180: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
181: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
182: | \[ # [
183: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
184: \] # ]
185: ) # initial subdomain
186: (?: #
187: (?: [\040\t] | \(
188: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
189: \) )* \. # if led by a period...
190: (?: [\040\t] | \(
191: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
192: \) )* (?:
193: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
194: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
195: | \[ # [
196: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
197: \] # ]
198: ) # ...further okay
199: )*
200:
201: (?: (?: [\040\t] | \(
202: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
203: \) )* , (?: [\040\t] | \(
204: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
205: \) )* @ (?: [\040\t] | \(
206: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
207: \) )* (?:
208: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
209: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
210: | \[ # [
211: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
212: \] # ]
213: ) # initial subdomain
214: (?: #
215: (?: [\040\t] | \(
216: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
217: \) )* \. # if led by a period...
218: (?: [\040\t] | \(
219: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
220: \) )* (?:
221: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
222: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
223: | \[ # [
224: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
225: \] # ]
226: ) # ...further okay
227: )*
228: )* # further okay, if led by comma
229: : # closing colon
230: (?: [\040\t] | \(
231: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
232: \) )* )? # optional route
233: (?:
234: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
235: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
236: |
237: " (?: # opening quote...
238: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
239: | # or
240: \\ [^\x80-\xff] # Escaped something (something != CR)
241: )* " # closing quote
242: ) # initial word
243: (?: (?: [\040\t] | \(
244: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
245: \) )* \. (?: [\040\t] | \(
246: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
247: \) )* (?:
248: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
249: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
250: |
251: " (?: # opening quote...
252: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
253: | # or
254: \\ [^\x80-\xff] # Escaped something (something != CR)
255: )* " # closing quote
256: ) )* # further okay, if led by a period
257: (?: [\040\t] | \(
258: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
259: \) )* @ (?: [\040\t] | \(
260: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
261: \) )* (?:
262: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
263: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
264: | \[ # [
265: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
266: \] # ]
267: ) # initial subdomain
268: (?: #
269: (?: [\040\t] | \(
270: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
271: \) )* \. # if led by a period...
272: (?: [\040\t] | \(
273: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
274: \) )* (?:
275: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
276: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
277: | \[ # [
278: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
279: \] # ]
280: ) # ...further okay
281: )*
282: # address spec
283: (?: [\040\t] | \(
284: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
285: \) )* > # trailing >
286: # name and address
287: ) (?: [\040\t] | \(
288: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
289: \) )* # optional trailing comment
290: /xSI
291:
292: /-- Although this saved pattern was compiled with link-size=2, it does no harm
293: to run this test with other link sizes because it is going to generated a
294: "compiled in wrong mode" error as soon as it is loaded, so the link size does
295: not matter. --/
296:
297: <!testsaved16
298:
1.1.1.4 misho 299: <!testsaved32
300:
1.1.1.2 misho 301: /\h/SI
302:
1.1.1.5 ! misho 303: /\H/SI
! 304:
1.1.1.2 misho 305: /\v/SI
306:
1.1.1.5 ! misho 307: /\V/SI
! 308:
1.1.1.2 misho 309: /\R/SI
310:
311: /[\h]/BZ
312: >\x09<
313:
314: /[\h]+/BZ
315: >\x09\x20\xa0<
316:
317: /[\v]/BZ
318:
319: /[\H]/BZ
320:
321: /[^\h]/BZ
322:
323: /[\V]/BZ
324:
325: /[\x0a\V]/BZ
1.1 misho 326:
1.1.1.2 misho 327: /\777/I
1.1 misho 328:
1.1.1.3 misho 329: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
330: XX
331:
332: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
333: XX
334:
335: /\u0100/<JS>
336:
337: /[\u0100-\u0200]/<JS>
338:
1.1.1.5 ! misho 339: /[^\x00-a]{12,}[^b-\xff]*/BZ
! 340:
! 341: /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
! 342:
1.1 misho 343: /-- End of testinput14 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>