Регулярные выражения

Формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов

///

Теория

///

Практика

///

RegExp

Система Windows предоставляет разработчикам com-объект VBScript.RegExp, поддерживающий работу с регулярным выражениями.

В составе объекта созданного обычными средствами доступны изменяемые свойства:

  • Global — свойство типа Булево определяет поиск во всем тексте, иначе до первого нахождения (по умолчанию: Ложь);
  • IgnoreCase — свойство типа Булево определяет поиск без учета регистра, иначе с учетом (по умолчанию: Ложь);
  • Multiline — свойство типа Булево определяет возможность поиска в многострочной строке, влияет на работу метасимволов ^ и $ (по умолчанию: Ложь);
  • Pattern — свойство типа Строка содержит шаблон регулярного выражения.

Метод .Test()

Test(СтрокаТекста). Метод проверяет переданную в параметре строку на соответствие шаблону (например проверка корректности адреса эл. почты). Возвращаемые значение: Ложь — строка соответствует шаблону, Истина — строка не соответствует шаблону;

Метод .Replace()

Replace(СтрокаТекста, СтрокаЗамены). Ищет соответствующие шаблону вхождения в первом параметре (СтрокаТекста) и заменяет их на значение второго параметра (СтрокаЗамены). Возвращаемые значения: измененный (возможно) параметр СтрокаТекста;

Метод .Execute()

Метод Execute(Строка) выполняет поиск в строке параметр подстрок соответствующих шаблону Pattern. Результатом выполнения метода является com-объект типа MatchCollection с коллекцией найденных соответствий. Объект коллекции MatchCollection предоставляет:

    • .Count — свойство типа Число содержит число найденных соответствий;
    • .Item(index) — метод возвращающий com-объект соответствия типа Match по заданному числовому индексу от 0.

Объект соответствия Match предоставляет:

      • .FirstIndex (Число) —  свойство содержит индекс начала соответствия в исходной строке
      • .Length (Число) — свойство содержит длину подстроки соответствия
      • .SubMatches (Коллекции строк) — содержит подстроки соответствия заданные шаблоном Pattern
      • .Value (Строка) — подстрока соответствия

///

1С:Предприятие 8.x

Простой пример кода реализации разбора отдельных тегов в строке:

 

1С:Предприятие 7.7

Реализация

Исходный текст фрагмента Глобального модуля:

Пример использования:

 

Добавить комментарий