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

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

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

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

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

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

Корак 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, па ће вратити ФАЛСЕ као резултат оквира за поруке.