ВБА РегЕк - Како се користи регуларни израз у ВБА Екцел? (Примери)

Шта је РегЕк у програму Екцел ВБА?

РегЕк је скраћеница од „ Регулар Екпрессион “ у ВБА Екцел и представља низ знакова који дефинишу образац претраживања за проналажење одређеног узорка знакова у низу вредности. Једноставном речју, „можемо створити образац регуларног израза и помоћу њега тражити низ тог обрасца“.

ВБА РегЕк је објектни модел. Знам да је застрашујуће гледајући објашњење, али ствар је у томе што је природа предмета. Овде морате имати на уму да је ВБА РегЕк (регуларни израз) објект текстуалне функције попут наших осталих текстуалних функција, „ЛЕВО, ДЕСНО, СРЕДЊЕ“.

Како омогућити РегЕк у програму Екцел ВБА?

Као што сам рекао ВБА, РегЕк је објектни модел у ВБА, баш као и наш спољни софтвер попут „МС Ворд“ и „МС ПоверПоинт“. Слично томе, РегЕк је такође компонентни објектни модел (ЦОМ), на који се морамо позвати у ВБА уређивачу. Да бисте омогућили РегЕк, следите кораке у наставку.

1. корак: Идите на Висуал Басиц Едитор (Алт + Ф11)

Корак 2: Идите на Алати и референце.

Корак 3: Сада ћете видети референце на ВБА пројекат. Померите се надоле и изаберите „Мицрософт ВБСцрипт Регулар Екпрессион 5.5.“

Корак 4: Сада кликните на, ОК. Овом РегЕк објекту можемо приступити сада у ВБА кодирању.

Пример - Сада ћу вам показати један једноставан пример. Претпоставимо да имате речи „Продаја 2019, продаја 2018 и продаја 2017“. Ако дефинишете образац као (0 - 7), подудара се са свим бројевима између 0 и 7, тако да ће наша подударања бити 201, 201 и 2017 у сваком низу.

ВБА РегЕк образац

Узорак функције ВБА РегЕк делује застрашујуће и потребно је неко време да се разуме образац. Овде можемо видети две врсте низа знакова, један је „Дословни знакови“, а други „Метакарактери“.

  • Дословни знакови претражују тачно подударање наведеног низа. На пример, дословни низ знакова „ЕФГ“ једноставно тражи сва подударања „ЕФГ“ у наведеном тексту.
  • Метазнакови нису ништа друго до комбинација знакова са тачним значењем у обрасцу РегЕк. Ово је потпуно другачије од дословних ликова. Огромна је тема коју треба покрити. Испод су неке од важних синтакса.
Синтакса Опис Пример Пример подударања
. Поклапа се са било којим појединачним знаком улазног низа. пт Кућни љубимац. Пот, Пут, Паттерн
() Поклапа се са било којим појединачним знаком између заграда улазног низа. (пт) Поклапа се са п или т
(^) Поклапа се са било којим појединачним знаком, а не између заграда улазног низа. (пт) Не подудара се ни са п ни са т
(Први прошле) Поклапа се са било којим знаком између опсега наведеног у загради. (0-9) Поклапа се са било којом цифром од 0 до 9
(аз) Поклапа се са било којим малим словом од а до з
(АЗ) Поклапа се са било којим великим словом од А до Ж
с Поклапа се са било којим празним простором. - Подудара се са размаком, новом линијом или знаком картице
С Поклапа се са било којим знаком који није празан - Подударни знакови нису размак, нису нова линија или нису табулаторски знакови
д Поклапа се са било којим једноцифреним знаком. СЕ 5 ВГ 6 Мечеви 5 и 6
Д. Поклапа се са било којим појединачним нецифреним знаком СЕ 5 ВГ 6 Поклапа се са СЕВГ

Својства и методе РегЕк објекта

Као и сви наши објектни модели, и РегЕк има своја својства и методе. Сад ћемо видети једног по једног у детаље.

Својства ВБА Регек објекта

  • Узорак: Користи се за подударање са наведеним низом.
  • Игноре Цасе: Ово је занемаривање великих и малих слова.
  • Глобално: Ако желите да пронађете сва подударања у обрасцу, аргумент је ТАЧНО, иначе ће бити пронађено прво подударање.
  • Више линија: Ако желите да пронађете нове преломе редова, можете да користите ово.

Методе РегЕк објекта

  • Тест: Ово је за тестирање да ли се образац може наћи у наведеном низу. Ово ће вратити ТРУЕ ако је пронађено или ФАЛСЕ.
  • Изврши: Ово ће вратити сва поклапања узорка са низом за проналажење.
  • Замени: Ово ће заменити низ за претрагу новим.

Пример РегЕк-а у ВБА Екцел-у

Сада погледајте доњи пример ВБА кода.

Шифра:

Суб РегЕк_Екампле () Пригуши РегЕк као објекат, МиСтринг као низ постави РегЕк = ЦреатеОбјецт ("ВБСцрипт.РегЕкп") са РегЕк .Паттерн = "(0-9) +" Заврши са МиСтринг = "Датум рођења је 1985" МсгБок РегЕк .Тест (МиСтринг) МиСтринг = "Датум рођења је ???" МсгБок РегЕк.Тест (МиСтринг) Енд Суб

редовно

У горњем коду поставили смо образац за претраживање броја од 0 до 9 на следећи начин.

Са РегЕк .Паттерн = "(0-9) +" Заврши са

Тада променљива МиСтринг = „Датум рођења је 1985. година“ садржи вредности од 0 до 9, тако да ће наш оквир за поруке вратити ТРУЕ.

МиСтринг = "Датум рођења је ???" нема бројеве од 0 до 9, па ће вратити ФАЛСЕ као резултат оквира за поруке.

Занимљиви Чланци...