1. Vytvoření objektu.
RegExp = Новый COMОбъект("VBScript.RegExp");
2. Vlastnosti.
| Vlastnost | Datový typ | Popis | Výchozí hodnota | Příklad |
|---|---|---|---|---|
| Global | Logická hodnota | Ověřit řetězec pouze do prvního shody se vzorem (Nepravda) nebo v celém textu (Pravda) | Nepravda |
|
| IgnoreCase | Logická hodnota | Zohlednit (Nepravda) nebo nezohlednit (Pravda) velikost písmen | Nepravda |
|
| MultiLine | Logická hodnota | Víceřádkový režim (Pravda) nebo jednořádkový režim (Nepravda) | Nepravda |
|
| Pattern | Řetězec | Použitý vzor – ukázkový text, který se skládá z běžných znaků a/nebo speciálních metaznaků |
|
3. Metody.
| Metoda | Popis | Návratová hodnota | Příklad |
|---|---|---|---|
| Replace(Řetězec, Podřetězec) | Nahrazení výskytů odpovídajících vzoru (vlastnost Pattern) v původním řetězci zadaným podřetězcem | Změněný řetězec |
|
| Test(Řetězec) | Ověření shody se vzorem | Logická hodnota |
|
| Execute(Řetězec) | Vyhledání výskytů odpovídajících vzoru v původním řetězci | Kolekce nalezených podřetězců ve formě agregovaného objektu |
|
4. Metaznaky.
| Znaky | Popis | Příklad |
|---|---|---|
| \ | Ukazuje, že následující znak je speciální znak. Sekvence "\\" odpovídá "\", a sekvence "\(" odpovídá "(". |
|
| ^ | Určuje začátek vstupního řetězce. Pokud je nastavena vlastnost Multiline, určuje také pozici ihned po "\n" (nový řádek) a "\r" (návrat vozíku). |
|
| $ | Určuje konec vstupního řetězce. Pokud je nastavena vlastnost Multiline, určuje také pozici přímo před "\n" (nový řádek) a "\r" (návrat vozíku). |
|
| * | Určuje žádný nebo více znaků, které mu předcházejí. Ekvivalentní s {0,}. |
|
| + | Určuje jeden nebo více znaků, které mu předcházejí. Ekvivalentní s {1,}. |
|
| ? | Určuje žádný nebo jeden znak, který mu předchází. Ekvivalentní s {0,1}. Pokud tento metaznak následuje přímo za konstrukcemi (*, +, ?, {n}, {n,}, {n,m}), dochází k určité změně algoritmu vyhledávání podle zadaného vzoru, což je ilustrováno příkladem níže. |
|
| {n} | Určuje přesný počet znaků, které mu předcházejí. "n" je nezáporné celé číslo. |
|
| {n,} | Určuje minimální počet znaků, které mu předcházejí. "n" je nezáporné celé číslo. "{0,}" je ekvivalentní "*", a "{1,}" je ekvivalentní "+". |
|
| {n,m} | Určuje počet znaků, které mu předcházejí (od - do). "n" a "m" jsou nezáporná celá čísla, přičemž n <= m. "{0,1}" je ekvivalentní "?". |
|
| . | Určuje libovolný znak kromě "\n" (nový řádek). Chcete-li určit libovolný znak, včetně "\n", použijte "[\s\S]". |
|
| (vzor) | Uloží shodu podle vzoru do kolekce SubMatches. Chcete-li určit znaky "(" a ")", použijte "\(" a "\)". |
|
| (?:vzor) | Užitečné pro kombinování částí vzoru pomocí znaku "|" ("nebo"). Například "gosp(?:din|ža)" je kratší než "gospodin|gospoža". NEukládá shodu do kolekce SubMatches. |
|
| (?=vzor) | "Windows(?=95|98)" najde podřetězec "Windows" v řetězci "Windows95", ale ne v řetězci "WindowsNT". Další vyhledávání začíná okamžitě, nikoliv po znacích obsažených v závorkách. NEukládá shodu do kolekce SubMatches. |
|
| (?!vzor) | "Windows(?!95|98)" najde podřetězec "Windows" v řetězci "WindowsNT", ale ne v řetězci "Windows95". V ostatních ohledech je zcela analogické "(?=vzor)". |
|
| x|y | Podmínka "nebo". "vz|převod" najde "vz" a "převod". "(vz|pře)vod" najde "vzvod" a "převod". |
|
| [abc] | Sada znaků. Najde kterýkoli z uvedených znaků. |
|
| [^abc] | Vylučující sada znaků. Najde kterýkoli z neuvedených znaků. |
|
| [a-z] | Rozsah znaků. Najde kterýkoli znak z rozsahu. |
|
| [^a-z] | Exkluzivní rozsah znaků. Najde jakýkoli znak, který není v daném rozsahu. |
|
| \b \B | \b - Hrana slova, tj. pozice mezi koncem slova a mezerou. \B - Není hrana slova. |
|
| \d \D | \d - číslice. Ekvivalentní [0-9]. \D - není číslice. Ekvivalentní [^0-9]. |
|
| \w \W | \w - libovolný znak slova, včetně podtržítka. Ekvivalentní [A-Za-z0-9_]. \W - opak "\w". Ekvivalentní [^A-Za-z0-9_]. |
|
| \s \S | \s - bílý znak. Ekvivalentní [\f\n\r\t\v]. \S - ne bílý znak. Ekvivalentní [^\f\n\r\t\v]. |
|
| \cx | Řídící znak. Parametr "x" je v rozsahu A-Z nebo a-z. Například "\cM" určuje Control-M nebo znak návratu vozíku, "\cJ" - nový řádek, "\cL" - nová stránka, "\cI" - znak tabulátoru, "\cK" - znak vertikálního tabulátoru. |
|
| \f | Znak nové stránky. Ekvivalent "\x0c" a "\cL". | |
| \n | Znak nového řádku. Ekvivalent "\x0a" a "\cJ". |
|
| \r | Znak návratu vozíku. Ekvivalent "\x0d" a "\cM". |
|
| \t | Znak tabulátoru. Ekvivalent "\x09" a "\cI". |
|
| \v | Znak vertikálního tabulátoru. Ekvivalent "\x0b" a "\cK". |
|
| \xn | Hexadecimální ASCII kód znaku. Musí obsahovat právě dva znaky. |
|
| \num | Odkaz na předchozí zachycené (nalezené) podřetězce odpovídající vzoru (SubMatches). "num" je kladné celé číslo, číslo shody v kolekci SubMatches; počítáno od jedné. Například "(.)\1" určuje dva identické znaky následující za sebou. |
|
| \un | Určuje Unicode znak podle jeho hexadecimálního kódu. "n" je čtyřmístný hexadecimální kód. |
|
