Match(Text: String; [Pattern: String = "";] [StartPosition: Integer = 0]): IRegexMatch;
Text. Входной текст, к которому применяется регулярное выражение;
Pattern. Шаблон регулярного выражения для проверки;
StartPosition. Позиция в тексте, с которой начинается проверка регулярного выражения.
Метод Match извлекает результат сопоставления указанного текста с регулярным выражением.
Регулярное выражение задаётся в формате строки, которая соответствует стандарту задания регулярного выражения, определенного в языке ECMAScript. Более подробно можно ознакомиться на различных ресурсах, посвящённых этому языку, например: en.cppreference.com, cplusplus.com. Результатом выполнения метода будет информация о найденных соответствиях отдельным группам заданного шаблона регулярного выражения.
Sub UserProc;
Var
SourceText: String = "Пример использования компонента приведён в главе 1.2.3.4.";
Pattern: String = "в главе (\d+(\.\d)*)";
Result: IRegexMatch;
s: String;
Begin
Result := Regex.Match(SourceText, Pattern);
If Result.Success Then
Debug.WriteLine("Индекс позиции первого найденного значения: " + Result.Index.ToString);
// Массив строк, содержащий соответствия группам шаблона
For Each s In Result.Group Do
Debug.WriteLine(s);
End For;
End If;
End Sub UserProc;
При выполнении примера к указанному тексту будет применено регулярное выражения для получения номера главы. Результатом выполнения будут следующие значения:
Выполнение модуля начато
Индекс позиции первого найденного значения: 41
в главе 1.2.3.4
1.2.3.4
.4
Выполнение модуля завершено
Первое значение «в главе 1.2.3.4» соответствует всему регулярному выражению, значение «1.2.3.4» захватывается группой (\d+(\.\d)*), последнее значение «.4» соответствует группе (\.\d).
См. также: