Свойство start
Свойство start класса Match возвращает индекс
(позицию) первого символа найденного совпадения
в исходной строке. Нумерация начинается с нуля.
Если совпадение не найдено, объект Match будет
равен null, и обращение к свойству вызовет ошибку.
Свойство доступно только для чтения и не принимает
параметров.
Синтаксис
match.start
Пример
Давайте найдём первое совпадение цифры в строке и выведем его начальную позицию:
void main()
{
String str = 'abcde12345';
RegExp regExp = RegExp(r'\d+');
Match? match = regExp.firstMatch(str);
if (match != null)
{
print(match.start);
}
}
Результат выполнения кода:
5
Пример
Давайте найдём второе совпадение цифр в строке и выведем его начальную позицию:
void main()
{
String str = 'abc123def456';
RegExp regExp = RegExp(r'\d+');
Iterable<Match> matches = regExp.allMatches(str);
Match match = matches.elementAt(1);
print(match.start);
}
Результат выполнения кода:
9
Пример
Давайте вырежем подстроку от найденного совпадения
до конца строки, используя свойство start:
void main()
{
String str = 'abcde12345';
RegExp regExp = RegExp(r'\d+');
Match? match = regExp.firstMatch(str);
if (match != null)
{
print(str.substring(match.start));
}
}
Результат выполнения кода:
"12345"
Смотрите также
-
свойство
end,
которое возвращает конечную позицию совпадения -
свойство
input,
которое возвращает исходную строку -
класс
Match,
который представляет результат поиска -
свойство
groupCount,
которое возвращает количество групп