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

Что такое RegEx в Excel VBA?

RegEx означает «Регулярное выражение” в VBA Excel и представляет собой последовательность символов, определяющую шаблон поиска для нахождения определенного шаблона символов в строке значений. Проще говоря, «мы можем создать шаблон регулярного выражения и использовать его для поиска строки этого шаблона».

VBA RegEx — это объектная модель. Я знаю, это пугает, глядя на объяснение, но дело в том, что природа объекта. Одна вещь, которую вам нужно помнить, это то, что VBA RegEx (Regular Expression) — это объект текстовой функции, такой как наш другой текстовые функцииТекстовые функцииФункция ТЕКСТ в Excel — это строковая функция, используемая для изменения заданного ввода на текст, предоставленный в указанном числовом формате. Он используется, когда мы получаем большие наборы данных от нескольких пользователей и форматы разные.читать далее, «СЛЕВА, СПРАВА, СРЕДНЯЯ».

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

Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоКак предоставить атрибуцию?Ссылка на статью должна быть гиперссылкой
Например:
Источник: VBA RegEx (wallstreetmojo.com)

Как включить RegEx в Excel VBA?

Как я сказал VBA, RegEx — это объектная модель в VBA, точно так же, как наше внешнее программное обеспечение, такое как «MS Word» и «MS PowerPoint». Точно так же RegEx также является объектной моделью компонентов (COM), на которую нам нужно ссылаться в редакторе VBA. Чтобы включить RegEx, выполните следующие действия.

  1. Перейдите в редактор Visual Basic (Alt + F11).

    vba регулярное выражение 1

  2. Перейдите в Инструменты и ссылки.

    регулярное выражение vba 1.1

  3. Теперь вы увидите ссылки на проект VBA. Прокрутите вниз и выберите «Microsoft VBScript Regular Expression 5.5».

    регулярное выражение vba 1.2

  4. Теперь нажмите, ОК. Теперь мы можем получить доступ к этому объекту RegEx в кодировании VBA.

Пример — Сейчас я покажу вам один простой пример. Предположим, у вас есть слова «Продажи 2019, Продажи 2018 и Продажи 2017». Если вы определяете шаблон как [0 – 7], он соответствует всем числам от 0 до 7, поэтому наши совпадения будут 201, 201 и 2017 в каждой строке.

Шаблон регулярных выражений VBA

Шаблон функции VBA RegEx выглядит пугающе, и требуется некоторое время, чтобы понять его. Здесь мы видим два типа последовательности символов: один — «литеральные символы», а другой — «метасимволы».

  • Буквенные символы поиск точного совпадения предоставленной строки. Например, буквенная последовательность символов «EFG» просто ищет все совпадения «EFG» в предоставленном тексте.
  • Метасимволы являются не чем иным, как комбинацией символов с точным значением в шаблоне RegEx. Это совершенно другое, чем Буквенные персонажи. Это огромная тема для освещения. Ниже приведены некоторые из важных синтаксисов.
Синтаксис Описание Пример Пример соответствия
. Он соответствует любому одиночному символу входной строки. пт Домашний питомец. Горшок, Положить, Узор
[] Соответствует любому одиночному символу в скобках входной строки. [pt] Он соответствует либо p, либо t
[^] Соответствует любому одиночному символу, не находящемуся в скобках входной строки. [^pt] Он не соответствует ни p, ни t
[First-Last] Соответствует любому символу из диапазона, указанного в скобках. [0-9] Соответствует любой цифре от 0 до 9
[a-z] Соответствует любому символу нижнего регистра от a до z
[A-Z] Соответствует любому символу верхнего регистра от A до Z.
с Он соответствует любому символу пробела. Соответствует пробелу, новой строке или символу табуляции
С Соответствует любому непробельному символу Совпадает с символами, отличными от пробела, новой строки или символа табуляции.
г Он соответствует любому однозначному символу. СЭ 5 ВГ 6 Совпадения 5 и 6
Д Соответствует любому одиночному нецифровому символу СЭ 5 ВГ 6 Соответствует СЕВГ

Свойства и методы объекта RegEx

Как и все наши объектные модели, RegEx также имеет свои свойства и методы. Теперь мы будем видеть один за другим в деталях.

Свойства объекта регулярного выражения VBA

  • Шаблон: Это используется для соответствия предоставленной строке.
  • Игнорировать регистр: Это необходимо для игнорирования символов верхнего и нижнего регистра.
  • Глобальный: Если вы хотите найти все совпадения в образце, аргументом является TRUE, иначе будет найдено первое совпадение.
  • Многострочный: Если вы хотите найти новые разрывы строкРазрывы строкРазрыв строки в Excel означает вставку новой строки в любое значение ячейки. Чтобы вставить разрыв строки, нажмите ALT + Enter. Когда мы вставляем разрыв строки, высота ячейки также увеличивается, так как она представляет данные.читать далее, вы можете использовать это.

Методы объекта RegEx

  • Контрольная работа: Это нужно для проверки того, можно ли найти шаблон в предоставленной строке. Это вернет TRUE, если найдено, или FALSE.
  • Выполнять: Это вернет все совпадения шаблона со строкой поиска.
  • Заменять: Это заменит строку поиска новой строкой.

Пример регулярного выражения в VBA Excel

Теперь взгляните на ниже пример кода VBAПример кода VBAКод VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи.читать далее.

Вы можете скачать этот шаблон VBA RegEx Excel здесь — Шаблон VBA RegEx Excel

Код:

Sub RegEx_Example()

    Dim RegEx As Object, MyString As String
    Set RegEx = CreateObject("VBScript.RegExp")

    With RegEx
      .Pattern = "[0-9]+"
    End With

    MyString = "Date of Birth year is 1985"
    MsgBox RegEx.Test(MyString)

    MyString = "Date of Birth year is ???"
    MsgBox RegEx.Test(MyString)

End Sub

обычный

В приведенном выше коде мы установили шаблон для поиска числа от 0 до 9 следующим образом.

With RegEx

  .Pattern = "[0-9]+"

End With

Затем переменная MyString = «Date of Birth year is 1985» содержит значения от 0 до 9, поэтому наше окно сообщения вернет TRUE.

MyString = «Дата рождения год ???» не имеет чисел от 0 до 9, поэтому вернет FALSE в качестве результата окна сообщения.

пример гифка

УЗНАТЬ БОЛЬШЕ >>

Похожие записи

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *