RegularExpressionGroupPosition()
Синтаксис
Result = RegularExpressionGroupPosition(#RegularExpression , Group)
Описание
Возвращает позицию строки, которая соответствует указанной группе, внутри текущей строки соответствующей Регулярному выражению, после вызова функции NextRegularExpressionMatch().
Параметры
#RegularExpression Номер идентифицирующий используемое Регулярное выражение. Для этого Регулярного выражения должны быть вызваны функции ExamineRegularExpression() и NextRegularExpressionMatch(). Group Индекс используемой группы. Первая группа имеет индекс 1.
Возвращаемое значение
Возвращает позицию строки, которая соответствует указанной группе, внутри текущей строки соответствующей РВ (Не в исходном тексте!). Здесь первый символ строки соответствующей РВ имеет позицию 1.
Комментарии
Группы в Регулярном выражении определяются путем включения в него подвыражения в круглых скобках "(" и ")". Группы нумеруются, как они появляются в регулярном выражении - слева направо. Первая группа имеет индекс 1.
Функция CountRegularExpressionGroups() может использоваться для определения количества групп в регулярном выражении.
Как альтернатива для RegularExpressionGroupPosition(), может использоваться функция RegularExpressionNamedGroupPosition().
Пример
; Это выражение соответствует строке настройки цвета (со значением red, green или blue) ; Цвета сгруппированы скобками (), и в случае совпадения извлекается значение цвета. ; If CreateRegularExpression(0, "color=(red|green|blue)") If ExamineRegularExpression(0, "stype=bold, color=blue, margin=50") While NextRegularExpressionMatch(0) Debug "The color is " + RegularExpressionGroup(0, 1) a = RegularExpressionGroupPosition(0,1) Debug a ; строка "blue" соответствующая группе №1, находится в строке соотв. РВ: "color=blue" - начиная с 7-го символа. Wend EndIf Else Debug RegularExpressionError() EndIf End
См. также
ExamineRegularExpression(), NextRegularExpressionMatch(), RegularExpressionGroup(), RegularExpressionGroupLength(), RegularExpressionNamedGroupPosition()
Поддерживаемые OS
Все