1[[tests]]
2name = "crazy-misc1"
3pattern = '[-+]?[0-9]*\.?[0-9]+'
4input = "0.1"
5matches = [[0, 3]]
6
7[[tests]]
8name = "crazy-misc2"
9pattern = '[-+]?[0-9]*\.?[0-9]+'
10input = "0.1.2"
11matches = [[0, 3]]
12
13[[tests]]
14name = "crazy-misc3"
15pattern = '[-+]?[0-9]*\.?[0-9]+'
16input = "a1.2"
17matches = [[1, 4]]
18
19[[tests]]
20options = ["case-insensitive"]
21name = "crazy-misc4"
22pattern = '[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'
23input = "mine is jam.slam@gmail.com "
24matches = [[8, 26]]
25
26[[tests]]
27options = ["case-insensitive"]
28name = "crazy-misc5"
29pattern = '[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'
30input = "mine is jam.slam@gmail "
31matches = []
32
33[[tests]]
34name = "crazy-misc6"
35pattern = '''[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?'''
36input = "mine is jam.slam@gmail.com "
37matches = [[8, 26]]
38
39[[tests]]
40name = "crazy-misc7"
41pattern = '(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])'
42input = "1900-01-01"
43matches = [[0, 10]]
44
45[[tests]]
46name = "crazy-misc8"
47pattern = '(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])'
48input = "1900-00-01"
49matches = []
50
51[[tests]]
52name = "crazy-misc9"
53pattern = '(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])'
54input = "1900-13-01"
55matches = []
56
57
58[[tests]]
59name = "crazy-negclass1"
60pattern = "[^ac]"
61input = "acx"
62matches = [[2, 3]]
63
64[[tests]]
65name = "crazy-negclass2"
66pattern = "[^a,]"
67input = "a,x"
68matches = [[2, 3]]
69
70[[tests]]
71name = "crazy-negclass3"
72pattern = '[^a\s]'
73input = "a x"
74matches = [[2, 3]]
75
76[[tests]]
77name = "crazy-negclass4"
78pattern = "[^,]"
79input = ",,x"
80matches = [[2, 3]]
81
82[[tests]]
83name = "crazy-negclass5"
84pattern = '[^\s]'
85input = " a"
86matches = [[1, 2]]
87
88[[tests]]
89name = "crazy-negclass6"
90pattern = '[^,\s]'
91input = ", a"
92matches = [[2, 3]]
93
94[[tests]]
95name = "crazy-negclass7"
96pattern = '[^\s,]'
97input = " ,a"
98matches = [[2, 3]]
99
100[[tests]]
101name = "crazy-negclass8"
102pattern = "[^[:alpha:]Z]"
103input = "A1"
104matches = [[1, 2]]
105
106
107[[tests]]
108name = "crazy-empty-repeat1"
109pattern = "((.*)*?)="
110input = "a=b"
111matches = [[0, 2]]
112
113[[tests]]
114name = "crazy-empty-repeat2"
115pattern = "((.?)*?)="
116input = "a=b"
117matches = [[0, 2]]
118
119[[tests]]
120name = "crazy-empty-repeat3"
121pattern = "((.*)+?)="
122input = "a=b"
123matches = [[0, 2]]
124
125[[tests]]
126name = "crazy-empty-repeat4"
127pattern = "((.?)+?)="
128input = "a=b"
129matches = [[0, 2]]
130
131[[tests]]
132name = "crazy-empty-repeat5"
133pattern = "((.*){1,}?)="
134input = "a=b"
135matches = [[0, 2]]
136
137[[tests]]
138name = "crazy-empty-repeat6"
139pattern = "((.*){1,2}?)="
140input = "a=b"
141matches = [[0, 2]]
142
143[[tests]]
144name = "crazy-empty-repeat7"
145pattern = "((.*)*)="
146input = "a=b"
147matches = [[0, 2]]
148
149[[tests]]
150name = "crazy-empty-repeat8"
151pattern = "((.?)*)="
152input = "a=b"
153matches = [[0, 2]]
154
155[[tests]]
156name = "crazy-empty-repeat9"
157pattern = "((.*)+)="
158input = "a=b"
159matches = [[0, 2]]
160
161[[tests]]
162name = "crazy-empty-repeat10"
163pattern = "((.?)+)="
164input = "a=b"
165matches = [[0, 2]]
166
167[[tests]]
168name = "crazy-empty-repeat11"
169pattern = "((.*){1,})="
170input = "a=b"
171matches = [[0, 2]]
172
173[[tests]]
174name = "crazy-empty-repeat12"
175pattern = "((.*){1,2})="
176input = "a=b"
177matches = [[0, 2]]
178