..
Veľmi často programátori sú v pozícii, že bude musieť analyzovať reťazce znakov.
Typickým príkladom je spracovanie textu zadaný užívateľom k vyhľadávaniu - a nakoniec vylúčiť - určité znaky.
Pre zjednodušenie a iné druhy činností, sa zdajú byť veľmi užitočné tzv regulárnych výrazov.
Regulárny výraz sa skladá z "abstraktné model" reťazec, ktorý slúži na porovnanie s cieľom overiť, že v porovnaní reťazec spĺňa určité požiadavky na formátovanie. Je možné tiež použiť regulárne výrazy výpis alebo nahradiť časti textu.
Pozrime sa na príklad má ukázať, ako tieto výrazy. Pomocou Visual Studio Vytvárame jednoduché konzolové aplikácie (ktorú nazývame TestRegExp), ktorá má dva objekty typu String ako vstup, a určuje, či sa prvý z nich (regulárny výraz) zodpovedá za sekundu alebo menej. By mali byť zahrnuté do System.Text.RegularExpressions menný priestor a vykonať porovnanie pomocou statickej System.Text.RegularExpressions.Regex.IsMatch
pomocou System.Text.RegularExpressions;
Menný priestor TestRegExp
{
ClasseTest triedy
{
static void Main (string [] args)
{
if (Regex.IsMatch (args [1] args [0]))
Console.WriteLine ("vstup vo formáte.");
iný
Console.WriteLine ("Vstup nerešpektuje určený formát .");}}}
V tomto bode sme sa spustiť aplikáciu ako prvý parameter a odovzdať regulárny výraz "^ \ d {5} $" (uvidíme čoskoro význam otázok symbolov) a druhý ako reťazec "1234" alebo "12345". Výstup z aplikácie v prípade reťazec "1234" by mala byť "Vstup nerešpektuje určenom formáte." Zatiaľ čo v prípade "12345" vstup vo formáte. "
C: \> TestRegExp ^ \ d {5} 1234 dolárov
Vstup nerešpektuje definovaný formát.
C: \> TestRegExp ^ \ d {5} 12.345 dolárov
Vstup vo formáte.
Toto je, pretože, ako už pochopil, že metóda IsMatch porovnáva regulárneho výrazu s reťazcom a vráti logickú hodnotu true, ak je formát je daná tým, najprv pozoroval z druhého, inak FALSE.
Vo vyššie uvedenom príklade regulárny výraz "^ \ d {5} $" ukazuje, že reťazce majú hodnotiť, musí byť presne 5 čísel (v skutočnosti, že porovnanie s "1234", vracia false).
Konkrétne znak "^" predstavuje začiatok reťazca, "\ d" znamená, že postavy musí byť číselný, "{5}" označuje dĺžku reťazca a "$" predstavuje koniec reťazca. Ak máte odstrániť znak "^" znamená regulárnych výrazov zásadne zmení. V skutočnosti je výraz \ d {5} $ bude vždy vyžadovať prítomnosť päť čísel v poradí, ale tiež overovať reťazec "abcd12345" alebo "ciaociao12345", pretože jeho význam je "reťazec, ktorý končí s piatimi poradové čísla."
Dobré pravidlo dodržiavať, je vždy kladený znak "^" na začiatku regulárneho výrazu a znak "$" na konci tejto zmluvy. Tieto opatrenia zaisťujú, že vstup musí presne zodpovedať regulárny výraz, a nie len obsahovať kompatibilné s rovnakými znakmi.
| |
Flash MX a ActionScript (kurz)
Staňte sa autor webových stránok od 29 €. |
| |
Java (kurz)
OOP programovania v Jave nie. Od 49 €. |
| |
Webmaster pokročilých (kurz)
Staňte sa profesionálne webmasterov. Od 39 €. |