1 matiter!(
2     match_multi_1,
3     r"(?m)^[a-z]+$",
4     "abc\ndef\nxyz",
5     (0, 3),
6     (4, 7),
7     (8, 11)
8 );
9 matiter!(match_multi_2, r"(?m)^$", "abc\ndef\nxyz");
10 matiter!(match_multi_3, r"(?m)^", "abc\ndef\nxyz", (0, 0), (4, 4), (8, 8));
11 matiter!(match_multi_4, r"(?m)$", "abc\ndef\nxyz", (3, 3), (7, 7), (11, 11));
12 matiter!(
13     match_multi_5,
14     r"(?m)^[a-z]",
15     "abc\ndef\nxyz",
16     (0, 1),
17     (4, 5),
18     (8, 9)
19 );
20 matiter!(match_multi_6, r"(?m)[a-z]^", "abc\ndef\nxyz");
21 matiter!(
22     match_multi_7,
23     r"(?m)[a-z]$",
24     "abc\ndef\nxyz",
25     (2, 3),
26     (6, 7),
27     (10, 11)
28 );
29 matiter!(match_multi_8, r"(?m)$[a-z]", "abc\ndef\nxyz");
30 matiter!(match_multi_9, r"(?m)^$", "", (0, 0));
31 
32 matiter!(
33     match_multi_rep_1,
34     r"(?m)(?:^$)*",
35     "a\nb\nc",
36     (0, 0),
37     (1, 1),
38     (2, 2),
39     (3, 3),
40     (4, 4),
41     (5, 5)
42 );
43 matiter!(
44     match_multi_rep_2,
45     r"(?m)(?:^|a)+",
46     "a\naaa\n",
47     (0, 0),
48     (2, 2),
49     (3, 5),
50     (6, 6)
51 );
52 matiter!(
53     match_multi_rep_3,
54     r"(?m)(?:^|a)*",
55     "a\naaa\n",
56     (0, 1),
57     (2, 5),
58     (6, 6)
59 );
60 matiter!(
61     match_multi_rep_4,
62     r"(?m)(?:^[a-z])+",
63     "abc\ndef\nxyz",
64     (0, 1),
65     (4, 5),
66     (8, 9)
67 );
68 matiter!(
69     match_multi_rep_5,
70     r"(?m)(?:^[a-z]{3}\n?)+",
71     "abc\ndef\nxyz",
72     (0, 11)
73 );
74 matiter!(
75     match_multi_rep_6,
76     r"(?m)(?:^[a-z]{3}\n?)*",
77     "abc\ndef\nxyz",
78     (0, 11)
79 );
80 matiter!(
81     match_multi_rep_7,
82     r"(?m)(?:\n?[a-z]{3}$)+",
83     "abc\ndef\nxyz",
84     (0, 11)
85 );
86 matiter!(
87     match_multi_rep_8,
88     r"(?m)(?:\n?[a-z]{3}$)*",
89     "abc\ndef\nxyz",
90     (0, 11)
91 );
92 matiter!(
93     match_multi_rep_9,
94     r"(?m)^*",
95     "\naa\n",
96     (0, 0),
97     (1, 1),
98     (2, 2),
99     (3, 3),
100     (4, 4)
101 );
102 matiter!(match_multi_rep_10, r"(?m)^+", "\naa\n", (0, 0), (1, 1), (4, 4));
103 matiter!(
104     match_multi_rep_11,
105     r"(?m)$*",
106     "\naa\n",
107     (0, 0),
108     (1, 1),
109     (2, 2),
110     (3, 3),
111     (4, 4)
112 );
113 matiter!(match_multi_rep_12, r"(?m)$+", "\naa\n", (0, 0), (3, 3), (4, 4));
114 matiter!(match_multi_rep_13, r"(?m)(?:$\n)+", "\n\naaa\n\n", (0, 2), (5, 7));
115 matiter!(
116     match_multi_rep_14,
117     r"(?m)(?:$\n)*",
118     "\n\naaa\n\n",
119     (0, 2),
120     (3, 3),
121     (4, 4),
122     (5, 7)
123 );
124 matiter!(match_multi_rep_15, r"(?m)(?:$\n^)+", "\n\naaa\n\n", (0, 2), (5, 7));
125 matiter!(
126     match_multi_rep_16,
127     r"(?m)(?:^|$)+",
128     "\n\naaa\n\n",
129     (0, 0),
130     (1, 1),
131     (2, 2),
132     (5, 5),
133     (6, 6),
134     (7, 7)
135 );
136 matiter!(
137     match_multi_rep_17,
138     r"(?m)(?:$\n)*",
139     "\n\naaa\n\n",
140     (0, 2),
141     (3, 3),
142     (4, 4),
143     (5, 7)
144 );
145