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