Jak používat mezery Regex v Javě

Jak Pouzivat Mezery Regex V Jave



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:

System.out.println ( 'Vesmír existuje:' + zápas ) ;



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:

System.out.println ( 'Vesmír existuje:' + zápas ) ;



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:

System.out.println ( 'Vesmír existuje:' + zápas ) ;



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:

Vzor regexVzor = Pattern.compile ( '\ \t \\p{Zs}' ) ;


Zavolej ' zápasy() “ metoda a projít “ s ' Tětiva:

Matcher stringSpaces = regexPattern.matcher ( s ) ;


Vytvořte proměnnou typu integer “ počet “ a inicializujte jej hodnotou „ 0 “:

int počet = 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:

zatímco ( stringSpaces.find ( ) ) {
počet++;
}


Nakonec vytiskněte hodnotu count, abyste ukázali, kolik mezer je v řetězci nalezeno:

System.out.println ( 'Řetězec obsahuje' +počítat+ 'mezery' ) ;


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:

Matcher stringSpaces = regexPattern.matcher ( s ) ;


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ě.