Regex alebo regulárny výraz je skupina špeciálnych znakov, ktoré sa kombinujú a vytvárajú vzor na vyhľadávanie znakov v reťazcoch. V počítačovom programovaní a softvérovom inžinierstve bude učenie regulárneho výrazu veľmi užitočné pri hľadaní informácií v akomkoľvek texte. Všetky druhy operácií vyhľadávania, formátovania a nahrádzania textu možno vykonávať pomocou regulárnych výrazov.
Tento tutoriál vás prevedie používaním medzery regulárneho výrazu v jazyku Java.
Čo je Regex v jazyku Java?
Regulárny výraz alebo regulárny výraz môžu byť také jednoduché ako jeden znak alebo zložitý vzor. Môže byť vytvorený pomocou reťazca textu a symbolov v určitom poradí. Väčšina znakov v regulárnom výraze sú písmená a typografické symboly. Regex rozlišuje veľké a malé písmená, takže na to pamätajte pri jeho vytváraní a používaní.
Ako používať Regex Whitespace v Jave?
Hoci Java nemá žiadnu preddefinovanú triedu regulárnych výrazov. Regulárne výrazy však môžeme použiť importovaním súboru „ java.util.regex “knižnica. Zahŕňa niektoré triedy, ako napr. Vzor “, ktorý sa používa na definovanie vzoru regulárneho výrazu a „ zápasy ” trieda, ktorá sa používa na vyhľadávanie so vzorom.
Existujú dva spôsoby, ako použiť medzery regulárnych výrazov v jazyku Java takto:
-
- Použitie metódy Pattern.matches() (použite preddefinovaný regulárny výraz)
- Použitie triedy Pattern a Matcher (vytvorte používateľom definovaný regulárny výraz, aby sa zhodoval)
Pozrime sa, ako budú tieto metódy fungovať s regulárnym výrazom pre medzery v Jave.
Metóda 1: Použite preddefinované medzery regulárneho výrazu s metódou Pattern.matches() v jazyku Java
Ak chcete nájsť medzery v reťazci, v jazyku Java existujú tri bežné regulárne výrazy:
-
- \s : Predstavuje jeden biely priestor.
- \s+ : Označuje viacero bielych miest.
- \u0020 : Je to Unicode bieleho miesta používaného ako regulárny výraz na nájdenie medzier v texte.
Tieto regulárne výrazy môžeme použiť v statickej metóde “ zápasy() “z “ Vzor ' trieda. Trieda vzorov patrí do „ java.util.regex “balíček. Nižšie je uvedená syntax metódy Pattern.matches():
Syntax
Vzor.zhoduje sa ( '\s' , '' ) ;
Zadaná metóda vyžaduje dva argumenty: regulárny výraz a reťazec, ktorý sa má zhodovať. Prvý argument „\s“ je regulárny výraz alebo regulárny výraz medzery a druhý argument ““ je medzera v reťazci. Ako boolovskú hodnotu vráti hodnotu true alebo false.
Príklad 1: Použite „\s“ WhiteSpace Regex
Tu použijeme „ \s ” regulárny výraz v metóde Pattern.matches(). Ako druhý argument odovzdáme reťazec bez medzery v metóde. Metóda skontroluje regulárny výraz a reťazec a potom vráti boolovskú hodnotu, ktorá bude uložená v „ zápas ” premenná:
boolovská hodnota zápas = Vzor.zhoduje sa ( '\s' , '' ) ;
Vytlačte hodnotu premennej zhody pomocou „ System.out.println() “ metóda:
Hodnota vrátená „ Pattern.matches() 'metóda je' falošný ” pretože odovzdaný reťazec nemá medzeru:
Teraz uvidíme niekoľko ďalších príkladov na priradenie medzier s inými regulárnymi výrazmi.
Príklad 2: Použite „\s+“ WhiteSpace Regex
V tomto príklade prejdeme „ \s+ “regulárny výraz v “ zápasy() ” metóda na nájdenie viacerých medzier:
boolovská hodnota zápas = Vzor.zhoduje sa ( '\s+' , '' ) ;
Vytlačte hodnotu premennej zhody, ktorá ukladá vrátený výsledok z metódy:
Keďže druhý argument obsahuje medzery, výsledná hodnota sa zobrazí ako „ pravda “:
Príklad 3: Použite „\u0020“ WhiteSpace Regex
Tu vám ukážeme, ako sa Unicode používa ako regulárny výraz v Jave. Na špecifikovaný účel použijeme „ \u0020 ” regulárny výraz ako Unicode bieleho miesta:
boolovská hodnota zápas = Vzor.zhoduje sa ( '\u0020' , '' ) ;
Vytlačte vrátenú hodnotu:
Metóda Pattern.matches() vypíše „ pravda ” ako odovzdaný reťazec obsahujúci biele medzery:
Prejdime na inú metódu použitia regulárneho výrazu v jazyku Java.
Metóda 2: Použite používateľom definované medzery regulárneho výrazu so vzorom a triedou Matcher
' Vzor Trieda “ sa používa na definovanie alebo vytvorenie vzoru, zatiaľ čo trieda “ zápasy ” sa používa na vyhľadávanie podľa daného vzoru. Vzor pre regulárny výraz možno vytvoriť pomocou „ kompilovať () ” metóda triedy Pattern. Vyžaduje si to len jeden parameter, vzor, ktorý chcete zostaviť na akýkoľvek účel.
Syntax
Vzor.kompilovať ( ' \t \p{Zs}' ) ;
The zápasy trieda zodpovedá vzoru pomocou „ zápasy() “. Chce to „ reťazec “ ako vzor.
Syntax
patternVariable.matcher ( reťazec ) ;
Existuje niekoľko preddefinovaných regulárnych výrazov pre medzery, o ktorých sme hovorili vyššie, ostatné sú uvedené nižšie:
-
- \\t\\p{Zs}
- \\p{Zs}
Teraz sa pozrime na niekoľko príkladov.
Príklad 1: Použite „\\t\\p{Zs}“ WhiteSpace Regex
V tomto príklade zistíme počet medzier ich spočítaním. Najprv vytvoríme reťazec “ s “ a vytlačte si ho na konzole:
Reťazec s = 'WelcometoLinuxHint' ;System.out.println ( s ) ;
Ďalej definujeme vzor „ \\t\\p{Zs} “, ktorý funguje ako regulárny výraz v jazyku Java a rovná sa „ \s “. Po zostavení daného vzoru sa premenná „ regulárny vzor ” bude obsahovať výslednú hodnotu:
Zavolajte na „ zápasy() “metóda a prejsť” s “Reťazec:
Vytvorte premennú typu celé číslo “ počítať “ a inicializujte ho hodnotou „ 0 “:
Spočítajte počet medzier, ktoré existujú v reťazci, pomocou „ zatiaľ čo “slučka. Slučka prejde cez reťazec a zvýši hodnotu premennej počtu, ak narazí na medzeru:
počet++;
}
Nakoniec vytlačte hodnotu count, aby ste ukázali, koľko medzier sa nachádza v reťazci:
Výkon
Príklad 2: Použite „\p{Zs}“ WhiteSpace Regex
Teraz nájdeme medzery v reťazci pomocou iného vzoru “ \p{Zs} “. Tento vzorec funguje podobne ako „ \s “ a „ \s+ “regulárny výraz:
Vzorový regexVzor = Vzor.kompilácia ( '\\p{Zs}' ) ;
Teraz nazývame „ zápasy() “metóda a prejsť” s Reťazec ako argument:
Rovnako ako vo vyššie uvedenom príklade používame aj „ zatiaľ čo ” slučka na spočítanie medzier v reťazci a ich vytlačenie:
Daný výstup naznačuje, že náš reťazec „ Vitajte v Linux Hint “ obsahuje tri medzery:
Kompilujeme všetky najjednoduchšie metódy, ktoré vám môžu pomôcť používať medzery regulárnych výrazov v jazyku Java.
Záver
Existuje veľa regulárnych výrazov pre medzery, ako napríklad „ \s “, “ \s+ “, “ \u0020 “, “ \\t\\p{Zs} “ a „ \\p{Zs} “. Tieto regulárne výrazy sa používajú v metóde match() triedy Pattern alebo definovaním vzoru s triedou Pattern a porovnávaním pomocou triedy Matcher. Najčastejšie používanými medzerami regulárneho výrazu sú \s a \s+. V tomto návode sme sa zaoberali všetkými metódami používania regexových medzier v Jave.