Regex nebo regulární výraz je sada speciálních znaků, které se kombinují a vytvářejí vzor pro vyhledávání znaků v řetězcích. V počítačovém programování a softwarovém inženýrství bude učení regulárních výrazů velmi užitečné při hledání informací v jakémkoli textu. Všechny druhy textového vyhledávání, formátování a nahrazování textu lze provádět pomocí regulárních výrazů.
Tento tutoriál vás provede používáním mezer regulárního výrazu v Javě.
Co je Regex v Javě?
Regulární výraz nebo regulární výraz může být tak jednoduchý jako jeden znak nebo složitý vzor. Může být vytvořen s řetězcem textu a symbolů v určitém pořadí. Většina znaků v regulárním výrazu jsou písmena a typografické symboly. Regex rozlišuje velká a malá písmena, takže na to pamatujte při jeho vytváření a používání.
Jak používat Regex Whitespace v Javě?
Přestože Java nemá žádnou předdefinovanou třídu regulárních výrazů. Můžeme však použít regulární výrazy importem „ java.util.regex “knihovna. Zahrnuje některé třídy, jako např. Vzor “, který se používá pro definování vzoru regulárních výrazů, a „ Zápasy ” třída, která se používá k vyhledávání se vzorem.
Existují dva způsoby, jak použít mezery regulárního výrazu v Javě takto:
-
- Použití metody Pattern.matches() (použijte předdefinovaný regulární výraz)
- Použití třídy Pattern a Matcher (vytvořte uživatelsky definovaný regulární výraz, který se bude shodovat)
Podívejme se, jak budou tyto metody fungovat s regulárním výrazem pro mezery v Javě.
Metoda 1: Použití předdefinovaných mezer Regex s metodou Pattern.matches() v Javě
Chcete-li najít mezery v řetězci, existují v Javě tři běžné regulární výrazy:
-
- \s : Představuje jedno bílé místo.
- \s+ : Označuje více bílých míst.
- \u0020 : Je to Unicode bílého místa používaného jako regulární výraz k nalezení mezer v textu.
Tyto regulární výrazy můžeme použít ve statické metodě “ zápasy() “ z “ Vzor “třída. Třída vzorů patří do „ java.util.regex “balíček. Níže je uvedena syntaxe metody Pattern.matches():
Syntax
Pattern.mats ( '\s' , '' ) ;
Zadaná metoda vyžaduje dva argumenty: regulární výraz a řetězec, který se má shodovat. První argument „\s“ je regulární výraz nebo regulární výraz mezery a druhý argument ““ je mezera v řetězci. Vrací buď true nebo false jako booleovskou hodnotu.
Příklad 1: Použijte „\s“ WhiteSpace Regex
Zde použijeme „ \s ” regulární výraz v metodě Pattern.matches(). Jako druhý argument předáme řetězec bez mezery v metodě. Metoda zkontroluje regulární výraz a řetězec a poté vrátí booleovskou hodnotu, která bude uložena v „ zápas 'proměnná:
booleovský zápas = Pattern.matches ( '\s' , '' ) ;
Vytiskněte hodnotu shodné proměnné pomocí „ System.out.println() “ metoda:
Hodnota vrácená „ Pattern.matches() 'metoda je' Nepravdivé ” protože předaný řetězec nemá mezeru:
Nyní uvidíme několik dalších příkladů pro porovnání mezer s jinými regulárními výrazy.
Příklad 2: Použijte „\s+“ WhiteSpace Regex
V tomto příkladu předáme „ \s+ „regulární výraz v „ zápasy() ” metoda k nalezení více mezer:
booleovský zápas = Pattern.matches ( '\s+' , '' ) ;
Vytiskněte hodnotu proměnné shody, která ukládá vrácený výsledek z metody:
Protože druhý argument obsahuje mezery, výsledná hodnota se zobrazí jako „ skutečný “:
Příklad 3: Použijte „\u0020“ WhiteSpace Regex
Zde vám ukážeme, jak se Unicode používá jako regulární výraz v Javě. Pro uvedený účel použijeme „ \u0020 ” regulární výraz jako Unicode bílého místa:
booleovský zápas = Pattern.matches ( '\u0020' , '' ) ;
Vytiskněte vrácenou hodnotu:
Metoda Pattern.matches() vytiskne „ skutečný ” jako předaný řetězec obsahující mezery:
Pojďme k jiné metodě použití regulárního výrazu v Javě.
Metoda 2: Použijte uživatelem definované mezery regulárního výrazu s třídou Pattern a Matcher
' Vzor třída se používá k definování nebo vytvoření vzoru, zatímco třída „ Zápasy Třída ” se používá k vyhledávání podle daného vzoru. Vzor pro regulární výraz lze vytvořit pomocí „ kompilovat() ” metoda třídy Pattern. Vyžaduje pouze jeden parametr, vzor, který chcete sestavit pro jakýkoli účel.
Syntax
Vzor.kompilovat ( ' \t \p{Zs}' ) ;
The Zápasy třída odpovídá vzoru pomocí „ zápasy() “ metoda. Chce to „ tětiva “ jako vzor.
Syntax
patternVariable.matcher ( tětiva ) ;
Existuje několik předdefinovaných regulárních výrazů pro mezery, o kterých jsme hovořili výše, zbývající jsou uvedeny níže:
-
- \\t\\p{Zs}
- \\p{Zs}
Nyní se podívejme na některé příklady.
Příklad 1: Použijte „\\t\\p{Zs}“ WhiteSpace Regex
V tomto příkladu zjistíme počet bílých míst jejich spočítáním. Nejprve vytvoříme řetězec “ s “ a vytiskněte jej na konzoli:
Řetězec s = 'WelcometoLinuxHint' ;System.out.println ( s ) ;
Dále definujeme vzor ' \\t\\p{Zs} “, který v Javě funguje jako regulární výraz bílých znaků a rovná se „ \s “. Po sestavení daného vzoru se proměnná „ regexPattern ” bude obsahovat výslednou hodnotu:
Zavolej ' zápasy() “ metoda a projít “ s ' Tětiva:
Vytvořte proměnnou typu integer “ počet “ a inicializujte jej hodnotou „ 0 “:
Spočítejte počet mezer, které existují v řetězci pomocí „ zatímco “smyčka. Smyčka projde řetězec a zvýší hodnotu proměnné count, pokud narazí na mezeru:
počet++;
}
Nakonec vytiskněte hodnotu count, abyste ukázali, kolik mezer je v řetězci nalezeno:
Výstup
Příklad 2: Použijte „\p{Zs}“ WhiteSpace Regex
Nyní najdeme mezery v řetězci pomocí jiného vzoru “ \p{Zs} “. Tento vzorec funguje podobně jako „ \s ' a ' \s+ “regulární výraz:
Vzor regexVzor = Pattern.compile ( '\\p{Zs}' ) ;
Nyní nazýváme „ zápasy() “ metoda a projít “ s ” Řetězec jako argument:
Stejně jako ve výše uvedeném příkladu také používáme „ zatímco ” smyčka pro počítání mezer v řetězci a jejich tisk:
Daný výstup znamená, že náš řetězec „ Vítejte v Linux Hint “ obsahuje tři mezery:
Zkompilujeme všechny nejjednodušší metody, které vám mohou pomoci používat mezery regulárního výrazu v Javě.
Závěr
Pro mezery existuje mnoho regulárních výrazů, například „ \s “, “ \s+ “, “ \u0020 “, “ \\t\\p{Zs} ', a ' \\p{Zs} “. Tyto regulární výrazy se používají v metodě match() třídy Pattern nebo definováním vzoru s třídou Pattern a jeho porovnáním pomocí třídy Matcher. Nejčastěji používaným bílým znakem regulárního výrazu je \s a \s+. V tomto tutoriálu jsme se zabývali všemi metodami použití regex mezer v Javě.