RegEx означает «Регулярное выражение” в VBA Excel и представляет собой последовательность символов, определяющую шаблон поиска для нахождения определенного шаблона символов в строке значений. Проще говоря, «мы можем создать шаблон регулярного выражения и использовать его для поиска строки этого шаблона».
VBA RegEx — это объектная модель. Я знаю, это пугает, глядя на объяснение, но дело в том, что природа объекта. Одна вещь, которую вам нужно помнить, это то, что VBA RegEx (Regular Expression) — это объект текстовой функции, такой как наш другой текстовые функцииТекстовые функцииФункция ТЕКСТ в Excel — это строковая функция, используемая для изменения заданного ввода на текст, предоставленный в указанном числовом формате. Он используется, когда мы получаем большие наборы данных от нескольких пользователей и форматы разные.читать далее, «СЛЕВА, СПРАВА, СРЕДНЯЯ».
Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоКак предоставить атрибуцию?Ссылка на статью должна быть гиперссылкой Например: Источник: VBA RegEx (wallstreetmojo.com)
Как включить RegEx в Excel VBA?
Как я сказал VBA, RegEx — это объектная модель в VBA, точно так же, как наше внешнее программное обеспечение, такое как «MS Word» и «MS PowerPoint». Точно так же RegEx также является объектной моделью компонентов (COM), на которую нам нужно ссылаться в редакторе VBA. Чтобы включить RegEx, выполните следующие действия.
Перейдите в редактор Visual Basic (Alt + F11).
Перейдите в Инструменты и ссылки.
Теперь вы увидите ссылки на проект VBA. Прокрутите вниз и выберите «Microsoft VBScript Regular Expression 5.5».
Теперь нажмите, ОК. Теперь мы можем получить доступ к этому объекту 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) для выполнения определенной задачи.читать далее.
Sub RegEx_Example()
Dim RegEx As Object, MyString As StringSet 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 в качестве результата окна сообщения.