1. Створення об'єкта.
RegExp = Новый COMОбъект("VBScript.RegExp");
2. Властивості.
| Властивість | Тип даних | Опис | Значення за замовчуванням | Приклад |
|---|---|---|---|---|
| Global | Булеве | Перевіряти рядок до першої відповідності шаблону (Хибність) або по всьому тексту (Істина) | Хибність |
|
| IgnoreCase | Булеве | Враховувати (Хибність) або не враховувати (Істина) регістр символів | Хибність |
|
| MultiLine | Булеве | Багаторядковий (Істина) або однорядковий (Хибність) режим | Хибність |
|
| Pattern | Рядок | Використовуваний шаблон - зразок тексту, який складається зі звичайних символів та/або спеціальних метасимволів |
|
3. Методи.
| Метод | Опис | Повернене значення | Приклад |
|---|---|---|---|
| Replace(Рядок, Підрядок) | Заміна входжень, що відповідають шаблону (властивість Pattern), у рядку-оригіналі на вказаний підрядок | Змінений рядок |
|
| Test(Рядок) | Перевірка відповідності шаблону | Булеве |
|
| Execute(Рядок) | Пошук відповідних шаблону входжень у рядку-оригіналі | Колекція знайдених підрядків у вигляді агрегатного об'єкта |
|
4. Метасимволи.
| Символи | Опис | Приклад |
|---|---|---|
| \ | Показує, що наступний символ є спецсимволом. Послідовність "\\" відповідає "\", а послідовність "\(" відповідає "(". |
|
| ^ | Визначає початок вхідного рядка. Якщо встановлено властивість Multiline, визначає також позицію відразу після "\n" (новий рядок) і "\r" (повернення каретки). |
|
| $ | Визначає кінець вхідного рядка. Якщо встановлено властивість Multiline, визначає також позицію безпосередньо перед "\n" (новий рядок) і "\r" (повернення каретки). |
|
| * | Визначає жодного або кілька символів, що стоять перед ним. Еквівалентно {0,}. |
|
| + | Визначає один або кілька символів, що стоять перед ним. Еквівалентно {1,}. |
|
| ? | Визначає жодного або один символ, що стоїть перед ним. Еквівалентно {0,1}. Якщо цей метасимвол іде безпосередньо за конструкціями (*, +, ?, {n}, {n,}, {n,m}), це призводить до деякої зміни алгоритму пошуку за заданим шаблоном, що проілюстровано прикладом нижче. |
|
| {n} | Визначає точну кількість символів, що стоять перед ним. "n" - невід'ємне ціле число. |
|
| {n,} | Визначає мінімальну кількість символів, що стоять перед ним. "n" - невід'ємне ціле число. "{0,}" еквівалентно "*", а "{1,}" еквівалентно "+". |
|
| {n,m} | Визначає кількість символів, що стоять перед ним (від - до). "n" і "m" - невід'ємні цілі числа, причому n <= m. "{0,1}" еквівалентно "?". |
|
| . | Визначає будь-який символ, крім "\n" (новий рядок). Щоб визначити будь-який символ, включаючи "\n", слід використовувати "[\s\S]". |
|
| (шаблон) | Фіксує підбір за шаблоном у колекції SubMatches. Щоб визначити символи "(" і ")", слід використовувати "\(" і "\)". |
|
| (?:шаблон) | Корисно для комбінування частин шаблону за допомогою символу "|" ("або"). Наприклад, "госпо(?:дин|жа)" коротше, ніж "господин|госпожа". НЕ фіксує підбір у колекції SubMatches. |
|
| (?=шаблон) | "Windows(?=95|98)" підбере підрядок "Windows" у рядку "Windows95", але не в рядку "WindowsNT". Подальший підбір починається негайно, а не після символів, що входять до дужок. НЕ фіксує підбір у колекції SubMatches. |
|
| (?!шаблон) | "Windows(?!95|98)" підбере підрядок "Windows" у рядку "WindowsNT", але не в рядку "Windows95". В решті - повністю аналогічно "(?=шаблон)". |
|
| x|y | Умова "або". "вз|перевод" підбере "вз" і "перевод". "(вз|пере)вод" підбере "взвод" і "перевод". |
|
| [abc] | Набір символів. Знаходить будь-який із зазначених символів. |
|
| [^abc] | Виключний набір символів. Знаходить будь-який із незазначених символів. |
|
| [a-z] | Діапазон символів. Знаходить будь-який символ із діапазону. |
|
| [^a-z] | Виключний діапазон символів. Знаходить будь-який символ, що не входить до діапазону. |
|
| \b \B | \b - Межа слова, тобто позиція між кінцем слова та пробілом. \B - НЕ межа слова. |
|
| \d \D | \d - цифра. Еквівалентно [0-9]. \D - НЕ цифра. Еквівалентно [^0-9]. |
|
| \w \W | \w - будь-який символ слова, включно з символом підкреслення. Еквівалентно [A-Za-z0-9_]. \W - зворотне до "\w". Еквівалентно [^A-Za-z0-9_]. |
|
| \s \S | \s - пробільний символ. Еквівалентно [\f\n\r\t\v]. \S - непробільний символ. Еквівалентно [^\f\n\r\t\v]. |
|
| \cx | Керуючий символ. Параметр "х" лежить у діапазоні A-Z або a-z. Наприклад, "\cM" визначає Control-M або символ повернення каретки, "\cJ" - новий рядок, "\cL" - нова сторінка, "\cI" - символ табуляції, "\cK" - символ вертикальної табуляції. |
|
| \f | Символ нової сторінки. Еквівалент "\x0c" та "\cL". | |
| \n | Символ нового рядка. Еквівалент "\x0a" та "\cJ". |
|
| \r | Символ повернення каретки. Еквівалент "\x0d" та "\cM". |
|
| \t | Символ табуляції. Еквівалент "\x09" та "\cI". |
|
| \v | Символ вертикальної табуляції. Еквівалент "\x0b" та "\cK". |
|
| \xn | Шістнадцятковий ASCII-код символу. Повинен містити рівно два символи. |
|
| \num | Посилання на попередні зафіксовані (знайдені) підрядки-відповідності шаблону (SubMatches). "num" - додатне ціле число, номер відповідності в колекції SubMatches; відлік з одиниці. Наприклад, "(.)\1" визначає два ідентичні символи, що йдуть один за одним. |
|
| \un | Визначає Unicode-символ за його шістнадцятковим кодом. "n" - чотиризначний шістнадцятковий код. |
|
