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:
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ę:
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ę:
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ė:
Skambinti „ degtukai() 'metodas ir praeiti' s 'Styga:
Sukurkite sveikojo skaičiaus tipo kintamąjį “ skaičiuoti “ ir inicijuokite jį reikšme „ 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:
skaičiuoti++;
}
Galiausiai išspausdinkite skaičiaus reikšmę, kad parodytumėte, kiek tarpų yra eilutėje:
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:
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.