]> git.saurik.com Git - apple/libc.git/blob - tests/regex/datafiles/tre-tests-extended-enhanced.dat
Libc-1082.50.1.tar.gz
[apple/libc.git] / tests / regex / datafiles / tre-tests-extended-enhanced.dat
1 # Large number of macros in one regexp.
2 E$H [A-Z]\\d\\s?\\d[A-Z]{2}|[A-Z]\\d{2}\\s?\\d[A-Z]{2}|[A-Z]{2}\\d\\s?\\d[A-Z]{2}|[A-Z]{2}\\d{2}\\s?\\d[A-Z]{2}|[A-Z]\\d[A-Z]\\s?\\d[A-Z]{2}|[A-Z]{2}\\d[A-Z]\\s?\\d[A-Z]{2}|[A-Z]{3}\\s?\\d[A-Z]{2} A12BC (0,5)
3 E$H SAME A1 2BC (0,6)
4 E$H SAME A123BC (0,6)
5 E$H SAME AB1 2BC (0,7)
6 E$H SAME AB12 3CD (0,8)
7 E$H SAME A1B 2CD (0,7)
8 E$H SAME AB1C 2DE (0,8)
9 E$H SAME ABC 1DE (0,7)
10 # Test leftmost and longest matching and some tricky submatches
11 #E (?l)(wee|week)(night|knights)s* weeknights (0,10)(0,3)(3,10)
12 #E SAME weeknightss (0,11)(0,3)(3,10)
13 # Tests for nonstandard syntax extensions.
14 #
15 # Zero width assertions
16 EH \<x aax xaa (4,5)
17 EH SAME xaa (0,1)
18 EH x\> axx xaa (2,3)
19 EH SAME aax (2,3)
20 EH \bx axx xaa (4,5)
21 EH SAME aax NOMATCH
22 EH SAME xax (0,1)
23 EH x\b axx xaa (2,3)
24 EH SAME aax (2,3)
25 EH SAME xaa NOMATCH
26 EH \Bx aax xxa (2,3)
27 EH \Bx\b aax xxx (2,3)
28 EH \<. ;xaa (1,2)
29 # Shorthands for character classes
30 EH \w{1,} ,.(a23_Nt-öo) (3,9)
31 EH \d{1,} uR120_4=v4 (2,5)
32 EH \D{1,} 120d_=vA4s (3,8)
33 EH \w+ ,.(a23_Nt-öo) (3,9)
34 EH \d+ uR120_4=v4 (2,5)
35 EH \D+ 120d_=vA4s (3,8)
36 # Quoted special characters
37 E$H \\t \t (0,1)
38 E$H \\e \033 (0,1)
39 # Test the \x1B and \x{263a} extensions for specifying 8 bit and wide
40 # characters in hexadecimal.
41 EH \x41 ABC (0,1)
42 E$H \\x5 \005 (0,1)
43 E$H \\x5r \005r (0,2)
44 # test_comp("\\x",REG_EXTENDED,0)
45 # test_nexec("\000",1,0,REG_OK,0,1)
46 # test_comp("\\xr",REG_EXTENDED,0)
47 # test_nexec("\000r",2,0,REG_OK,0,2)
48 EH \x{41} ABC (0,1)
49 E$H \\x{5} \005 (0,1)
50 E$H \\x{5}r \005r (0,2)
51 # test_comp("\\x{}",REG_EXTENDED,0)
52 # test_nexec("\000",1,0,REG_OK,0,1)
53 # test_comp("\\x{}r",REG_EXTENDED,0)
54 # test_nexec("\000r",2,0,REG_OK,0,2)
55 # Tests for (?inrU-inrU) and (?inrU-inrU:)
56 EH foo(?i)bar fooBaR (0,6)
57 EH foo(?i)bar|zap fooBaR (0,6)
58 EH SAME foozap (3,6)
59 EH SAME foozAp (3,6)
60 EH SAME bar NOMATCH
61 EH SAME zap (0,3)
62 EiH foo(?-i:zap)zot FoOzapZOt (0,9)
63 EiH SAME FoOzApZOt NOMATCH
64 EH foo(?i:bar|zap) foozap (0,6)
65 EH SAME foobar (0,6)
66 EH SAME foobAr (0,6)
67 EH SAME fooZaP (0,6)
68 EH foo(?U:o*)(o*) foooo (0,5)(3,5)
69 # Test comment syntax
70 EH foo(?# This here is a comment. )bar foobar (0,6)
71 # Tests for \Q and \E
72 EH \((\Q)?:\<[^$\E) ()?:\<[^$ (0,9)(1,9)
73 EH \Qabc\E.* abcdef (0,6)
74 EH \Qabc\E.*|foo parabc123wxyz (3,13)
75 EH SAME fooabc123wxyz (0,3)
76 # Back referencing tests
77 EH ([a-z]*) \1 foobar foobar (0,13)(0,6)
78 # Searching for a leftmost longest square (repeated string)
79 EH (.*)\1 foobarfoobar (0,12)(0,6)
80 EH a(b)*c\1 acb NOMATCH
81 EH SAME abbcbbb (0,5)(2,3)
82 EH SAME abbdbd NOMATCH
83 EH ([a-c]*)\1 abcacdef (0,0)(0,0)
84 EH SAME abcabcabcd (0,6)(0,3)
85 EH (a*)*(x)(\1) x (0,1)(0,0)(0,1)(1,1)
86 EH SAME ax (0,2)(1,1)(1,2)(2,2)
87 EH (a)\1{1,2} aabc (0,2)(0,1)
88 EH ((.*)\1)+ aa ESUBREG
89 EH ()(\1\1)* NULL (0,0)(0,0)(0,0)
90 # Check that back references work with REG_NOSUB
91 EHw (o)\1 foobar NULL
92 EH (o)\1 foobar (1,3)(1,2)
93 EH SAME fobar NOMATCH
94 EH \1foo NULL ESUBREG
95 EH \1foo(bar) x ESUBREG
96 # Back reference with zero-width assertion
97 EH (.)\1$ foox NOMATCH
98 EH SAME foo (1,3)(1,2)
99 # Back references together with {}
100 EH ([0-9]{5})\1 12345 NOMATCH
101 EH SAME 1234512345 (0,10)(0,5)
102 EH ([0-9]{4})\1 1234 NOMATCH
103 EH SAME 12341234 (0,8)(0,4)
104 # Test minimal repetitions (non-greedy repetitions)
105 #
106 # Basic
107 EH .*? abcd (0,0)
108 EH .+? abcd (0,1)
109 EH .?? abcd (0,0)
110 EH .{2,5}? abcd (0,2)
111 # More complicated
112 EH <b>(.*?)</b> <b>text1</b><b>text2</b> (0,12)(3,8)
113 EH a(.*?)(foo|bar|zap) hubba wooga-booga zabar gafoo wazap (4,23)(5,20)(20,23)
114 # Test REG_UNGREEDY
115 EHm .* abcd (0,0)
116 EHm .*? abcd (0,4)
117 ##### Extras
118 # ^ magic after |
119 EH (a|^b) bas (0,1)(0,1)