Regex Whitespace gebruiken in Java

Regex Whitespace Gebruiken In Java



Regex of reguliere expressie is een set speciale tekens die samen een patroon vormen om tekens in tekenreeksen te zoeken. Bij computerprogrammering en software-engineering zal het leren van regex zeer nuttig zijn bij het vinden van informatie in elke tekst. Met reguliere expressies kunnen allerlei soorten tekstzoek-, opmaak- en tekstvervangingsbewerkingen worden uitgevoerd.

Deze zelfstudie zal u begeleiden bij het gebruik van de regex-witruimte in Java.







Wat is Regex in Java?

Een reguliere expressie of Regex kan zo simpel zijn als een enkel teken of een complex patroon. Het kan worden gemaakt met een reeks tekst en symbolen in een specifieke volgorde. De meeste tekens in een regex zijn letters en typografische symbolen. Regex is hoofdlettergevoelig, dus houd daar rekening mee bij het maken en gebruiken ervan.



Hoe gebruik ik Regex Whitespace in Java?

Hoewel Java geen vooraf gedefinieerde klasse voor reguliere expressies heeft. We kunnen echter reguliere expressies gebruiken door de ' java.util.regex ' bibliotheek. Het bevat een aantal klassen zoals ' Patroon ”, die wordt gebruikt voor het definiëren van een regex-patroon, en “ Wedstrijden ” class die wordt gebruikt om met het patroon te zoeken.



Er zijn twee methoden om regex-spaties in Java als volgt te gebruiken:





    • Methode Pattern.matches() gebruiken (gebruik vooraf gedefinieerde regex)
    • Pattern en Matcher-klasse gebruiken (maak een door de gebruiker gedefinieerde regex om te matchen)

Laten we eens kijken hoe deze methoden werken met regex voor witruimte in Java.

Methode 1: Gebruik vooraf gedefinieerde Regex-witruimte met de methode Pattern.matches() in Java

Om spaties in een string te vinden, zijn er drie veelvoorkomende regexen in Java:



    • \s : Het vertegenwoordigt een enkele witruimte.
    • \s+ : Het geeft meerdere witruimten aan.
    • \u0020 : Het is de Unicode van de witruimte die als regex wordt gebruikt om witruimte in een tekst te vinden.

We kunnen deze regexes gebruiken in de statische methode “ wedstrijden() ' van de ' Patroon ' klas. Patroonklasse behoort tot de “ java.util.regex ' pakket. Hieronder wordt de syntaxis van de Pattern.matches()-methode gegeven:

Syntaxis

Patroon.overeenkomsten ( '\s' , ' ' ) ;


Voor de opgegeven methode zijn twee argumenten nodig: de reguliere expressie en de tekenreeks die moet overeenkomen. Het eerste argument '\s' is de reguliere expressie of regex van de witruimte, en het tweede argument ' ' is de spatie in string. Het retourneert true of false als een booleaanse waarde.

Voorbeeld 1: Gebruik “\s” WhiteSpace Regex

Hier gebruiken we de ' \s ” regex in de methode Pattern.matches(). We zullen een string zonder spatie in de methode als tweede argument doorgeven. De methode controleert de regex en de tekenreeks en retourneert vervolgens een booleaanse waarde die wordt opgeslagen in de ' wedstrijd ” variabele:

booleaans wedstrijd = Patroon.overeenkomsten ( '\s' , '' ) ;


Druk de waarde van de matchvariabele af met de “ Systeem.uit.println() methode:

Systeem.uit.println ( 'Er is ruimte:' + match ) ;



De waarde die wordt geretourneerd door de ' Patroon.overeenkomsten() ” methode is “ vals ” omdat de doorgegeven string geen spatie heeft:


Nu zullen we enkele andere voorbeelden zien om witruimte te matchen met andere regexen.

Voorbeeld 2: Gebruik “\s+” WhiteSpace Regex

In dit voorbeeld geven we de ' \s+ ”-regex in de “ wedstrijden() ” methode om meerdere spaties te vinden:

booleaans wedstrijd = Patroon.overeenkomsten ( '\s+' , ' ' ) ;


Druk de waarde af van de matchvariabele die het geretourneerde resultaat van de methode opslaat:

Systeem.uit.println ( 'Er is ruimte:' + match ) ;



Omdat het tweede argument spaties bevat, wordt de resulterende waarde weergegeven als ' WAAR ”:

Voorbeeld 3: Gebruik “\u0020” WhiteSpace Regex

Hier laten we u zien hoe Unicode wordt gebruikt als een regex in Java. Voor het gespecificeerde doel gebruiken we de ' \u0020 ” regex als Unicode van de witruimte:

booleaans wedstrijd = Patroon.overeenkomsten ( '\u0020' , ' ' ) ;


Druk de geretourneerde waarde af:

Systeem.uit.println ( 'Er is ruimte:' + match ) ;



De methode Pattern.matches() zal afdrukken “ WAAR ” als een doorgegeven string met spaties:


Laten we naar de andere methode gaan om regex in Java te gebruiken.

Methode 2: Gebruik door de gebruiker gedefinieerde Regex-witruimte met patroon en Matcher-klasse

De ' Patroon ” klasse wordt gebruikt om een ​​patroon te definiëren of te creëren, terwijl de “ Wedstrijden ” class wordt gebruikt om te zoeken volgens het gegeven patroon. Het patroon voor een regex kan worden gemaakt met behulp van de ' compileren() ”-methode van de klasse Pattern. Er is slechts één parameter nodig, het patroon dat u voor welk doel dan ook wilt compileren.

Syntaxis

Patroon.compileren ( ' \t \p{Zs}' ) ;


De Wedstrijden klasse komt overeen met het patroon door de ' wedstrijden() ” methode. Het duurt een “ snaar ” als het patroon.

Syntaxis

patroonVariable.matcher ( snaar ) ;


Er zijn enkele vooraf gedefinieerde regex voor witruimten die we hierboven hebben besproken, de overige worden hieronder vermeld:

    • \\t\\p{Zs}
    • \\p{Zs}

Laten we nu enkele voorbeelden bekijken.

Voorbeeld 1: Gebruik “\\t\\p{Zs}” WhiteSpace Regex

In dit voorbeeld zullen we het aantal spaties achterhalen door ze te tellen. Eerst zullen we een String maken “ s ” en print het uit op de console:

Tekenreeks s = 'Welkom bij LinuxHint' ;
Systeem.uit.println ( s ) ;


Vervolgens zullen we een patroon definiëren “ \\t\\p{Zs} ” dat fungeert als een witruimte-regex in Java en gelijk is aan “ \s ”. Na het compileren van het gegeven patroon, variabele “ regexPatroon ” zal resulterende waarde bevatten:

Patroon regexPattern = Pattern.compile ( '\ \t \\p{Zs}' ) ;


Bel de ' wedstrijden() ” methode en pas “ s ' Snaar:

Matcher stringSpaces = regexPattern.matcher ( s ) ;


Maak een integer type variabele ' graaf ' en initialiseer het met de waarde ' 0 ”:

int telling = 0 ;


Tel het aantal spaties dat in de tekenreeks bestaat met behulp van een ' terwijl lus. De lus doorloopt de String en verhoogt de waarde van de tellingsvariabele als deze een spatie tegenkomt:

terwijl ( stringSpaces.find ( ) ) {
tellen++;
}


Druk ten slotte de waarde van count af om te laten zien hoeveel spaties er in een tekenreeks worden gevonden:

Systeem.uit.println ( 'String bevat ' +tel+ 'spaties' ) ;


Uitgang:



Voorbeeld 2: Gebruik “\p{Zs}” WhiteSpace Regex

Nu zullen we de witruimten in de tekenreeks vinden door een ander patroon te gebruiken ' \p{Zs} ”. Dit patroon werkt vergelijkbaar met de ' \s ' en ' \s+ regex:

Patroon regexPattern = Pattern.compile ( '\\p{Zs}' ) ;


Nu noemen we de “ wedstrijden() ” methode en pas “ s String als argument:

Matcher stringSpaces = regexPattern.matcher ( s ) ;


Zoals in het bovenstaande voorbeeld gebruiken we ook een “ terwijl ” loop om de spaties in een string te tellen en af ​​te drukken:



De gegeven uitvoer geeft aan dat onze String ' Welkom bij Linux Hint ” bevat drie spaties:



We compileren alle gemakkelijkste methoden die u kunnen helpen om regex-witruimte in Java te gebruiken.

Conclusie

Er zijn veel reguliere expressies voor witruimte, zoals ' \s ”, “ \s+ ”, “ \u0020 ”, “ \\t\\p{Zs} ', en ' \\p{Zs} ”. Deze regexen worden gebruikt in de match()-methode van de klasse Pattern of door een patroon te definiëren met de klasse Pattern en deze te matchen met behulp van de klasse Matcher. De meest gebruikte regex-spaties zijn \s en \s+. In deze zelfstudie hebben we alle methoden behandeld om regex-witruimte in Java te gebruiken.