IRegex.Match

Синтаксис

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).

См. также:

IRegex