Kaip naudoti Regex tarpą Java

Kaip Naudoti Regex Tarpa Java



Reguliarioji išraiška arba reguliarioji išraiška yra specialiųjų simbolių rinkinys, kuris sujungiamas į šabloną ieškant simbolių eilutėse. Kompiuterių programavimo ir programinės įrangos inžinerijos srityje reguliariosios kalbos mokymasis bus labai naudingas ieškant informacijos bet kuriame tekste. Visos teksto paieškos, formatavimo ir teksto pakeitimo operacijos gali būti atliekamos naudojant reguliariąsias išraiškas.

Šioje pamokoje sužinosite, kaip naudoti reguliariojo reiškinio tarpą Java.







Kas yra Regex Java?

Reguliarioji išraiška arba reguliarioji išraiška gali būti tokia paprasta, kaip vienas simbolis arba sudėtingas šablonas. Jis gali būti sukurtas naudojant teksto ir simbolių eilutę tam tikra tvarka. Dauguma reguliariosios išraiškos simbolių yra raidės ir tipografiniai simboliai. Regex yra didžiosios ir mažosios raidės, todėl kurdami ir naudodami atminkite tai.



Kaip naudoti Regex tarpą Java?

Nors Java neturi jokios iš anksto nustatytos reguliariosios išraiškos klasės. Tačiau galime naudoti reguliariąsias išraiškas importuodami „ java.util.regex “ biblioteka. Tai apima kai kurias klases, tokias kaip „ Šablonas “, kuris naudojamas apibrėžiant reguliarųjį reiškinį, ir „ Degtukai “ klasė, kuri naudojama ieškant pagal šabloną.



Yra du būdai, kaip naudoti reguliarųjį tarpą „Java“:





    • Pattern.matches() metodo naudojimas (naudokite iš anksto nustatytą reguliarųjį reiškinį)
    • Šablono ir atitikties klasės naudojimas (sukurkite vartotojo apibrėžtą reguliarųjį reiškinį, kad atitiktų)

Pažiūrėkime, kaip šie metodai veiks su „Java“ tarpo įprastu reiškiniu.

1 būdas: Java programoje naudokite iš anksto nustatytą regex tarpą su Pattern.matches() metodu

Norėdami rasti tarpų eilutėje, yra trys įprasti „Java“ regex:



    • \s : reiškia vieną baltą tarpą.
    • \s+ : rodo kelis baltus tarpus.
    • \u0020 : tai unikodas tarpo, naudojamo kaip reguliarioji išraiška, norint rasti tarpą tekste.

Mes galime naudoti šiuos regex statiniu metodu ' degtukai() ' iš ' Šablonas ' klasė. Šablonų klasė priklauso ' java.util.regex “ paketą. Žemiau pateikiama metodo Pattern.matches() sintaksė:

Sintaksė

Raštas.degtukai ( '\s' , ' ' ) ;


Nurodytas metodas naudoja du argumentus: reguliariąją išraišką ir eilutę, kad atitiktų. Pirmasis argumentas „\s“ yra reguliarioji tarpo išraiška arba reguliarioji išraiška, o antrasis argumentas “ “ yra eilutė eilutėje. Jis grąžina arba true, arba false kaip loginę reikšmę.

1 pavyzdys: naudokite „\s“ WhiteSpace Regex

Čia mes naudosime „ \s ” reguliarioji išraiška Pattern.matches() metodu. Kaip antrą argumentą pateiksime eilutę be tarpo metode. Metodas patikrins reguliarųjį reiškinį ir eilutę, o tada grąžins loginę reikšmę, kuri bus saugoma „ rungtynės “ kintamasis:

loginis rungtynės = Pattern.matches ( '\s' , '' ) ;


Išspausdinkite atitikties kintamojo reikšmę naudodami „ System.out.println() “ metodas:

System.out.println ( 'Erdvė egzistuoja:' + rungtynės ) ;



Vertė, kurią grąžino ' Pattern.matches() 'metodas yra' klaidinga “, nes perduotoje eilutėje nėra tarpo:


Dabar pamatysime keletą kitų pavyzdžių, kaip baltą tarpą suderinti su kitais regex.

2 pavyzdys: naudokite „\s+“ WhiteSpace Regex

Šiame pavyzdyje perduosime „ \s+ 'reguliarioji išraiška' degtukai() “ būdas rasti kelias erdves:

loginis rungtynės = Pattern.matches ( '\s+' , ' ' ) ;


Išspausdinkite atitikties kintamojo, kuriame saugomas gautas rezultatas iš metodo, reikšmę:

System.out.println ( 'Erdvė egzistuoja:' + rungtynės ) ;



Kadangi antrajame argumente yra tarpų, gauta reikšmė rodoma kaip „ tiesa “:

3 pavyzdys: naudokite „\u0020“ WhiteSpace Regex

Čia parodysime, kaip „Unicode“ naudojamas kaip „Java“ reguliarioji išraiška. Nurodytam tikslui naudosime „ \u0020 “ reguliarioji išraiška kaip unikodas tarpo:

loginis rungtynės = Pattern.matches ( '\u0020' , ' ' ) ;


Spausdinkite grąžintą vertę:

System.out.println ( 'Erdvė egzistuoja:' + rungtynės ) ;



Pattern.matches() metodas išspausdins ' tiesa “ kaip perduotą eilutę, kurioje yra tarpų:


Pereikime prie kito metodo, kaip naudoti regex „Java“.

2 būdas: naudokite vartotojo apibrėžtą reguliarųjį tarpą su šablonu ir atitikmens klasę

Šablonas “ klasė naudojama modeliui apibrėžti arba sukurti, o „ Degtukai “ klasė naudojama paieškai pagal pateiktą šabloną. Reguliariosios išraiškos šabloną galima sukurti naudojant „ kompiliuoti () ” klasės Pattern metodas. Tam reikia tik vieno parametro, modelio, kurį norite sudaryti bet kokiam tikslui.

Sintaksė

Pattern.sudaryti ( \t \p{Zs}' ) ;


The Degtukai klasė atitinka modelį naudodami ' degtukai() “ metodas. Tam reikia „ styga “, kaip modelis.

Sintaksė

modelisKintamasis.matcher ( styga ) ;


Yra keletas iš anksto nustatytų tarpų reguliariųjų reiškinių, kuriuos aptarėme aukščiau, likusieji išvardyti toliau:

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

Dabar pažiūrėkime keletą pavyzdžių.

1 pavyzdys: naudokite „\\t\\p{Zs}“ WhiteSpace Regex

Šiame pavyzdyje tarpų skaičių sužinosime juos suskaičiavę. Pirmiausia sukursime eilutę ' s “ ir atsispausdinkite konsolėje:

Styga s = „WelcometoLinuxHint“ ;
System.out.println ( s ) ;


Tada mes apibrėžsime modelį ' \\t\\p{Zs} “, kuris veikia kaip tarpas „Java“ ir yra lygus „ \s “. Sudarius pateiktą šabloną, kintamasis ' regexPattern “ bus gauta reikšmė:

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


Skambinti „ degtukai() 'metodas ir praeiti' s 'Styga:

Matcher stringSpaces = regexPattern.matcher ( s ) ;


Sukurkite sveikojo skaičiaus tipo kintamąjį “ skaičiuoti “ ir inicijuokite jį reikšme „ 0 “:

int skaičius = 0 ;


Suskaičiuokite eilutėje esančių tarpų skaičių naudodami „ kol “ kilpa. Ciklas pereis per eilutę ir padidins skaičiavimo kintamojo reikšmę, jei susidurs su tarpais:

kol ( stringSpaces.rasti ( ) ) {
skaičiuoti++;
}


Galiausiai išspausdinkite skaičiaus reikšmę, kad parodytumėte, kiek tarpų yra eilutėje:

System.out.println ( 'Eilutė yra' +skaičiuoti+ 'erdvės' ) ;


Išvestis



2 pavyzdys: naudokite „\p{Zs}“ WhiteSpace Regex

Dabar eilutėje esančius tarpus rasime naudodami kitą šabloną ' \p{Zs} “. Šis modelis veikia panašiai kaip ' \s “ ir „ \s+ “ reguliarioji išraiška:

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


Dabar mes vadiname „ degtukai() 'metodas ir praeiti' s 'Eilutė kaip argumentas:

Matcher stringSpaces = regexPattern.matcher ( s ) ;


Kaip ir aukščiau pateiktame pavyzdyje, mes taip pat naudojame „ kol “ kilpa, kad suskaičiuotumėte tarpus eilutėje ir atspausdintumėte:



Pateikta išvestis rodo, kad mūsų eilutė ' Sveiki atvykę į „Linux Hint“. “ yra trys tarpai:



Mes surenkame visus paprasčiausius metodus, kurie gali padėti jums naudoti reguliarųjį tarpą Java.

Išvada

Yra daug įprastų tarpų išraiškų, tokių kaip „ \s “, „ \s+ “, „ \u0020 “, „ \\t\\p{Zs} “ ir „ \\p{Zs} “. Šios taisyklės naudojamos klasės Pattern metodu matches() arba apibrėžiant šabloną su Pattern Class ir suderinant jį naudojant Matcher klasę. Dažniausiai naudojamas reguliarus tarpas yra \s ir \s+. Šiame vadove apžvelgėme visus „Java“ reguliaraus tarpo naudojimo būdus.