Regex eller Regular Expression er et sett med spesialtegn som kombineres for å danne et mønster for å søke etter tegn i strenger. I dataprogrammering og programvareteknikk vil læring av regex være svært nyttig for å finne informasjon i hvilken som helst tekst. Alle typer tekstsøk, formatering og teksterstatningsoperasjoner kan utføres ved bruk av regulære uttrykk.
Denne opplæringen vil veilede deg om bruk av regex-mellomrom i Java.
Hva er Regex i Java?
Et regulært uttrykk eller regulært uttrykk kan være så enkelt som et enkelt tegn eller et komplekst mønster. Den kan lages med en tekststreng og symboler i en bestemt rekkefølge. De fleste tegnene i et regulært uttrykk er bokstaver og typografiske symboler. Regex skiller mellom store og små bokstaver, så husk det når du oppretter og bruker det.
Hvordan bruke Regex Whitespace i Java?
Selv om Java ikke har noen forhåndsdefinert Regular Expression-klasse. Imidlertid kan vi bruke regulære uttrykk ved å importere ' java.util.regex ' bibliotek. Det inkluderer noen klasser som ' Mønster ', som brukes til å definere et regex-mønster, og ' Fyrstikker ” klasse som brukes til å søke med mønsteret.
Det er to metoder for å bruke regex-mellomrom i Java som følger:
-
- Bruk av Pattern.matches()-metoden (bruk forhåndsdefinert regulært uttrykk)
- Bruke Pattern and Matcher-klassen (opprett brukerdefinert regulært uttrykk for å matche)
La oss se hvordan disse metodene vil fungere med regulært uttrykk for mellomrom i Java.
Metode 1: Bruk forhåndsdefinert regex-mellomrom med Pattern.matches()-metoden i Java
For å finne mellomrom i en streng, er det tre vanlige regexes i Java:
-
- \s : Den representerer et enkelt mellomrom.
- \s+ : Det indikerer flere mellomrom.
- \u0020 : Det er Unicode for det hvite rommet som brukes som et regulært uttrykk for å finne mellomrom i en tekst.
Vi kan bruke disse regexes i den statiske metoden ' fyrstikker() ' av ' Mønster ' klasse. Mønsterklassen tilhører ' java.util.regex '-pakken. Nedenfor er syntaksen til Pattern.matches()-metoden gitt:
Syntaks
Mønster.treffer ( '\s' , ' ' ) ;
Den angitte metoden krever to argumenter: det regulære uttrykket og strengen for å matche. Det første argumentet '\s' er det regulære uttrykket eller regex for det hvite rommet, og det andre argumentet ' ' er mellomrommet i streng. Den returnerer enten sant eller usant som en boolsk verdi.
Eksempel 1: Bruk '\s' WhiteSpace Regex
Her vil vi bruke ' \s ” regex i Pattern.matches()-metoden. Vi sender en streng uten mellomrom i metoden som et andre argument. Metoden vil sjekke regex og strengen og deretter returnere en boolsk verdi som vil bli lagret i ' kamp variabel:
boolsk kamp = Mønster.treffer ( '\s' , '' ) ;
Skriv ut verdien av samsvarsvariabelen ved å bruke ' System.out.println() ' metode:
Verdien returnert av ' Pattern.matches() 'metoden er' falsk ' fordi den beståtte strengen ikke har mellomrom:
Nå vil vi se noen andre eksempler for å matche mellomrom med andre regexes.
Eksempel 2: Bruk '\s+' WhiteSpace Regex
I dette eksemplet vil vi sende ' \s+ ' regex i ' fyrstikker() ' metode for å finne flere mellomrom:
boolsk kamp = Mønster.treffer ( '\s+' , ' ' ) ;
Skriv ut verdien av samsvarsvariabelen som lagrer det returnerte resultatet fra metoden:
Ettersom det andre argumentet inneholder mellomrom, vises den resulterende verdien som ' ekte ':
Eksempel 3: Bruk «\u0020» WhiteSpace Regex
Her vil vi vise deg hvordan Unicode brukes som et regulært uttrykk i Java. For det angitte formålet vil vi bruke ' \u0020 ' regex som Unicode for det hvite rommet:
boolsk kamp = Mønster.treffer ( '\u0020' , ' ' ) ;
Skriv ut den returnerte verdien:
Pattern.matches()-metoden vil skrive ut ' ekte ' som en bestått streng som inneholder mellomrom:
La oss gå til den andre metoden for å bruke regex i Java.
Metode 2: Bruk brukerdefinert Regex Whitespace med Pattern and Matcher class
« Mønster '-klassen brukes til å definere eller lage et mønster, mens ' Fyrstikker ”-klassen brukes til å søke i henhold til det gitte mønsteret. Mønsteret for et regex kan lages ved hjelp av ' kompilere() ”-metoden til Pattern-klassen. Det tar bare én parameter, mønsteret du vil kompilere til ethvert formål.
Syntaks
Pattern.compile ( ' \t \p{Zs}' ) ;
De Fyrstikker klasse matcher mønsteret ved å bruke ' fyrstikker() 'metoden. Det tar en ' streng ' som mønsteret.
Syntaks
patternVariable.matcher ( streng ) ;
Det er noen forhåndsdefinerte regex for mellomrom som vi har diskutert ovenfor, de resterende er oppført nedenfor:
-
- \\t\\p{Zs}
- \\p{Zs}
La oss nå se på noen eksempler.
Eksempel 1: Bruk '\\t\\p{Zs}' WhiteSpace Regex
I dette eksemplet vil vi finne ut antall mellomrom ved å telle dem. Først vil vi lage en streng ' s ' og skriv den ut på konsollen:
String s = 'Velkommen til Linux-hint' ;System.out.println ( s ) ;
Deretter vil vi definere et mønster ' \\t\\p{Zs} ' som fungerer som et regeluttrykk for mellomrom i Java og er lik ' \s '. Etter å ha kompilert det gitte mønsteret, variabel ' regexmønster ' vil inneholde resulterende verdi:
Ring ' fyrstikker() 'metode og bestått' s 'String:
Opprett en heltallstypevariabel ' telle ' og initialiser den med verdien ' 0 ':
Tell antall mellomrom som finnes i strengen ved å bruke en ' samtidig som ' Løkke. Sløyfen vil krysse strengen og øke tellevariabelverdien hvis den støter på mellomrom:
telle++;
}
Til slutt, skriv ut verdien av count for å vise hvor mange mellomrom som finnes i en streng:
Produksjon
Eksempel 2: Bruk '\p{Zs}' WhiteSpace Regex
Nå vil vi finne mellomrommene i strengen ved å bruke et annet mønster ' \p{Zs} '. Dette mønsteret fungerer på samme måte som ' \s ' og ' \s+ ' regex:
Pattern regexPattern = Pattern.compile ( '\\p{Zs}' ) ;
Nå kaller vi ' fyrstikker() 'metode og bestått' s ' String som argument:
Som i eksemplet ovenfor bruker vi også en ' samtidig som ”-løkke for å telle mellomrommene i en streng og skrive dem ut:
Den gitte utgangen indikerer at vår streng ' Velkommen til Linux Hint ' inneholder tre mellomrom:
Vi kompilerer alle de enkleste metodene som kan hjelpe deg med å bruke regex-mellomrom i Java.
Konklusjon
Det er mange regulære uttrykk for mellomrom som ' \s ', ' \s+ ', ' \u0020 ', ' \\t\\p{Zs} ', og ' \\p{Zs} '. Disse regexes brukes i matches()-metoden til Pattern-klassen eller ved å definere et mønster med Pattern Class og matche det ved å bruke Matcher-klassen. Det mest brukte regex-mellomrommet er \s og \s+. I denne opplæringen dekket vi alle metodene for å bruke regex-mellomrom i Java.