ВБА РегЕк | Како се користи регуларни израз у ВБА Екцел? (Примери)
Шта је РегЕк у програму Екцел ВБА?
РегЕк је кратица за „Регуларни израз”У ВБА Екцел и представља низ знакова који дефинише образац претраживања за проналажење одређеног узорка знакова у низу вредности. Једноставном речју „можемо створити образац регуларног израза и помоћу њега тражити низ тог обрасца“.
ВБА РегЕк је објектни модел. Знам да је застрашујуће гледајући објашњење, али ствар је у томе што је природа предмета. Овде морате имати на уму да је ВБА РегЕк (регуларни израз) објект текстуалне функције попут наших осталих текстуалних функција „ЛИЈЕВО, ДЕСНО, СРЕДЊЕ“.
Како омогућити РегЕк у програму Екцел ВБА?
Као што сам рекао, ВБА РегЕк је објектни модел у ВБА, баш као и наш спољни софтвер попут „МС Ворд“ и „МС ПоверПоинт“. Слично томе, РегЕк је такође компонентни објектни модел (ЦОМ) на који се морамо позивати у ВБА уређивачу. Да бисте омогућили РегЕк, следите кораке у наставку.
Корак 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, па ће вратити ФАЛСЕ као резултат оквира за поруке.