Skip to content

Wyrażenia regularne w Javie

Wyrażenia regularne w Javie – to kolejny temat, który przerabiamy. Temat niby jest prosty, ale jednak sprawiający wiele problemów. Prezentuję więc podstawowe elementy i wyrażenia regularne.

Wyrażenia regularne – czym są?

Na początek wyjaśnienie – czym są wyrażenia regularne. To szablony, w których opisujemy łańcuch znaków. W taki sposób możemy weryfikować, czy to co wpisuje użytkownik to to, co chcemy, aby wpisał. Na przykład – kod pocztowy lub adres e-mail, które mają część elementów stałych (kod pocztowy to dwie liczby, myślnik i trzy liczby). Takie wyrażenia można wykorzystać we wszystkich językach programowania.

Wyrażenia regularne pozwalają zweryfikować dane wejściowe od użytkownika. W Javie do ich obsługi wykorzystywane są klasy Pattern i Matcher [ten temat omówię w jednym z kolejnych wpisów]. Co istotne w Javie wyrażenia zapisujemy jako Stringi.

Regex – konstrukcja

Najprostszym wyrażeniem może być tekst abc. Jednakże, wtedy właściwym tekstem wejścia będzie… abc. Żadna inna treść nie przejdzie walidacji. Do budowy większych wyrażeń wykorzystuje się kwantyfikatory. Oto ich dokładne znaczenia:

PozycjaNazwa kontaObserwujacychObserwujeTweety
1Indykpol AZS Olsztyn39541541651
2Olsztyn188604068
3Gazeta Olsztynska17531294552
4stomil.olsztyn.pl16361546179
5Teatr Jaracza12961673752
6Stomil Olsztyn SA1248872339
7Elblag24.pl11963828253
8Radio Olsztyn10372201759
9Zortrax79550444
10Olsztyn zyje736114837
11Olsztyn.com.pl733683125
12Fundacja Albastro688790789
13Enej675892
14dwadozera.pl6032161918
15Informacje z Elblaga5962723200
16ZKS Olimpia5785531251
17Arrachion Olsztyn562157754
18R-Gol Football562117437
19Kurier Olsztynski554367162
20Nasz Olsztyniak5484741380
21Portal Braniewo54017521620
22Radio UWM FM532365971
23Miasto Elblag48273452
24freedom4728021622
25Ogloszenie Mazurskie44919206308
26Dziennik Elblaski444252965
27Olsztynskie Tramwaje422531308
28Browar Kormoran41261151
29Elk40702058
30zBiegiemNatury3443181301
31elblag.net33912644
32sport.egit.pl3371095128
33Powiat Olsztynski314641092
34Gazeta Warminska295761741
35Sport TVP3 Olsztyn241115775
36Olimpia Elblag22701
37Ketrzyn226186375
38PLON.IO207346606
39Gazeta Elblag175618
40NewsBar171606237
41Mazury AirShow167123276
42PiS Olsztyn16487652
43Olcamp161102214
44PWSZ Elblag16147363
45Kazzo Moda Meska1551340140
46Kurs na Gizycko15510410
47Wyjatkowe serce14962142
48WOsP Olsztyn1472732
49Tramwaje.olsztyn.eu145865
50Mazury Aktywne138156199
51Gmina Braniewo13782204
52Powiat Ketrzynski137137345
53RCKiK Olsztyn1311330
54Hotel St. Bruno128435151
55CEiIK12720196
56Restauracja Skarbiec12529788
57Instytut Dziennikarstwa1192175
58Pomysly na Elblag114667
59MTM Ostru00f3da111239160
60Hotel Krasicki11132531
61SWOlsztyn10835118
62MasurianLakeDistrict1062567
63Olsztyn Tweetup1055222
64UWM w Olsztyne10053115
65WMZPN9923615
66express.olsztyn.pl941143
67ESER Pionier888381
68Sport na Warmii i Mazurach87112236
69Hotel Mazury Gizycko860918
70Eranova862723
71Portal Elcki8255448
72Gizycko79109
73Limdesk77171112
74The Lollipops7657305
75Restauracja Lago75259209
76Hotel Zamek Ryn711756
77SSPS AZS Olsztyn704883
78Huragan Morag697486
79Nowy Olsztyn69121272
80Worldtour6702055
81Szpital Dzieciecy Olsztyn67122
82Systu63291238
83Plomien Elk626616
84Meski Punkt Jedzenia6112486
85Ksiaznica Polska61168103
86Grupa Pryzmat6015290
87GlogowskaCompany599127
88Galeria Warminska585546
89Noclegi Elblag5713288
90Shannon5510494
91Hotel Olsztyn Sak55102135
92Bartbo551888
93Elckie Centrum Kultury521740
94Warmia Grajewo5101
95Gazeta Lidzbarska48351533
96PulsMiasta.pl-Olsztyn473962
97Dobre Miasto4742
98PiS Mragowo3821966
99Wydzial Teologii UWM361515
100wmpn3557240
101wmmobi343068
102Elk Online3318212
103BasketOlsztyn326271
104InQbe30155
105Abakus Olsztyn304988
106Gifmi285862
107Piwnica Szczytno28853
108slub Olsztyn27182
109Gmina Jonkowo261264
110Psychoterapia Olsztyn239813
111Goniec Bartoszycki21116360
112Pasym Parafia211820
113Tasbike Coffee191826
114Senior Games Poland1849386
115PartnerstwoDlaWarmii178213
116Arizona Ostru00f3da1753
117WM lowcy burz171418
118Unique Rock Festival15528
119Detektyw Horus145243
120Agromax1452118
121aleCatering134818
122Klewer129242
123Nasza Warmia1100
124Sportowy Lidzbark111084
125Mazury aktywnie1190
126Da sie w Olsztynie10611
127Salon Urody Olsztyn10103
128Sex Shop Elk108744
129LoudMonkey PL103127
130Twoj Kurier Olsztynski9201
131Klub Sarp9655
132twojejaroty.eu9115
133Gok Dywity9085
134ITS Olsztyn9543
135KS Fortuna Gaglawki8912
136TruckMotor w Widlowie713793
137StawigudaMojaGmina7285
138HipHop Mazury6151
139wMragowie630
140Polskie Towarzystwo Ekonomiczne63834
141Aura Centrum51943
142Inperium5010
143MOK Jeziorany4250
144Toyota Elk357
145Szynaka-Meble150
146Warmia i Mazury1204
147Masters Olsztyn1915
148Danet07138

Kwantyfikatory zawsze odnoszą się do znaku poprzedzającego (także spacji). Ważne jest także wykorzystanie zakresów i grup znaków, które pozwalają nam powtarzać większą liczbę znaków/schematów.

Zakres to nic innego jak grupa znaków. Umieszczamy je w nawiasach kwadratowych. Mogą tu się pojawić litery, liczby, ale też znaki specjalne. Co istotne w Javie przed znakiem specjalnym musi pojawić się backslash (hint: Inteliji IDE robi to za nas).

PozycjaNazwa kontaObserwujacychObserwujeWpisow
1Indykpol AZS Olsztyn43231581956
2Olsztyn203004437
3Gazeta Olsztynska19631315395
4stomil.olsztyn.pl18951517866
5Stomil Olsztyn SA1659962909
6Teatr Jaracza15021882825
7Zortrax1395256911
8Radio Olsztyn13005233704
9Elblag24.pl12073788253
10Olsztyn.com.pl880723663
11Olsztyn zyje795115847
12ZKS Olimpia7515921697
13R-Gol Football711126591
14Fundacja Albastro703782838
15dwadozera.pl6722172174
16Enej667862
17Arrachion Olsztyn651157908
18Informacje z Elblaga6012723200
19Portal Braniewo58617412030
20Radio UWM FM582366771
21Kurier Olsztynski563365162
22Nasz Olsztyniak5564721381
23Miasto Elblag55303630
24freedom5108261677
25Browar Kormoran48560177
26Dziennik Elblaski479243629
27Olsztynskie Tramwaje476581440
28Ogloszenie Mazurskie45019006282
29Elk43902242
30sport.egit.pl4141246930
31Powiat Olsztynski376631371
32Ostroda Reggae Festiwal37324450
33elblag.net36322798
34Gazeta Warminska347792155
35zBiegiemNatury3443151301
36Sport TVP3 Olsztyn3351721830
37Kortowiada3332144
38Grand Slam32654518
39PLON.IO2924231176
40Ketrzyn267186398
41Ostroda2574444
42Olimpia Elblag23301
43UWM w Olsztyne23060325
44Mazury AirShow204121459
45PWSZ Elblag18853629
46Bezpieczny Olsztyn18323697
47Elblag Europa182189120
48Kurs na Gizycko1760455
49Powiat Ketrzynski174136377
50Gazeta Elblag173618
51PiS Olsztyn17381690
52Mazury Airport17322217
53Olcamp171103217
54NewsBar167602237
55Kazzo Moda Meska1621351190
56RCKiK Olsztyn1601334
57WOsP Olsztyn1532738
58Wyjatkowe serce15361343
59Tramwaje.olsztyn.eu146865
60Gmina Braniewo14582204
61CEiIK13920197
62Mazury Aktywne138154199
63Restauracja Skarbiec13229813
64Hotel St. Bruno132430151
65MOK Olsztyn125146203
66Instytut Dziennikarstwa1222175
67Hotel Krasicki12232712
68Socios Stomil12114153
69TU SIe MOVIE120183157
70Restauracja Lago118307373
71Olimpia Olsztynek11654185
72MTM Ostroda115236160
73Pomysly na Elblag111668
74Ideative110198711
75Galeria Warminska1105697
76WMZPN10823615
77Ksiaznica Polska107176169
78MasurianLakeDistrict1062567
79Olsztyn Tweetup1065122
80Szczytno105430
81SWOlsztyn10535119
82Huragan Morag1007677
83Meble Wojcik Eblag986082
84PO Warmia Mazury982711713
85OSIR Olsztyn9717170
86Adwokat Kontra951125
87ESER Pionier948294
88Polyend927657
89express.olsztyn.pl901143
90SSPS AZS Olsztyn884887
91Hotel Mazury Gizycko880946
92Sport na Warmii i Mazurach88111236
93Eranova852623
94Portal Elcki8354348
95KS Contract Lubawa82211472
96Limdesk79170112
97KKS Warmia Olsztyn7939142
98Forum Rozwoju Olsztyna773368
99Hotel Zamek Ryn771756
100The Lollipops7757305
101Gizycko7699
102Worldtour7302249
103Grupa Pryzmat71154149
104Szpital Dzieciecy Olsztyn70122
105Nowy Olsztyn69120270
106Tygodnik Ketrzyn6955495
107Shannon6777544
108wmmobi665897
109Meski Punkt Jedzenia6512286
110Gazeta Lidzbarska65352515
111JachtKlub Elblag65859
112Systu64290238
113Noclegi Elblag6313189
114Plomien Elk626616
1152kropek Studio6213764
116MTB Olsztyn Team60164303
117Elckie Centrum Kultury581740
118Hotel Olsztyn Sak58109153
119Kino swiatowid585355
120Bartbo561888
121813 Studio563990
122wmpn5579496
123Warmia Grajewo5401
124Concordia Elblag53336125
125Dobre Miasto5142
126PulsMiasta.pl-Olsztyn503962
127PiS Mragowo4921969
128PAN Olsztyn4339164
129Vegoria Wegorzewo399282
130Elset38102224
131Elk Online3718212
132Wydzial Teologii UWM371515
133Adrenaline.pl36106755
134Sokol Ostroda351327
135Social Media Weekend354511
136Gifmi338178
137Piwnica Szczytno33843
138BasketOlsztyn336271
139IFMSA Olsztyn337313
140Gmina Jonkowo321194
141Omulew Wielbark32579
142Znicz Biala Piska3093
143Sport-Academy3048337
144Abakus Olsztyn304988
145Goniec Bartoszycki30120548
146slub Olsztyn29172
147InQbe29155
148WM lowcy burz281418
149Arizona Ostroda2653
150Mazury aktywnie2580
151BullArtStudio2313429
152Tasbike Coffee231826
153Pasym Parafia231821
154Psychoterapia Olsztyn229813
155Senior Games Poland2249386
156Hobbiton197214
157Koliber Olsztyn183614
158Unique Rock Festival18528
159Loopa Marketing18438
160PartnerstwoDlaWarmii178213
161ITS Olsztyn17554
162Polskie Towarzystwo Ekonomiczne1642208
163Agromax1652118
164Detektyw Horus155144
165Red Dragon Olsztyn1413839
166Twoj Kurier Olsztynski14201
167Klewer149345
168Da sie w Olsztynie13611
169aleCatering134818
170Gok Dywity13087
171LoudMonkey PL123129
172Masters Olsztyn1221125
173Nasza Warmia1100
174Glammed1118212
175Sportowy Lidzbark101084
176Salon Urody Olsztyn10103
177TruckMotor w Widlowie10139134
178twojejaroty.eu10115
179Klub Sarp9645
180Aura Centrum919178
181OlsztynSport.pl9123
182KS Fortuna Gaglawki8912
183Sex Shop Elk88544
184StawigudaMojaGmina7285
185HipHop Mazury7151
186Hurtownia Elektryk6613
187wMragowie630
188MOK Jeziorany5250
189MAK Studio5037
190Wyborcza Olsztyn535
191Inperium3010
192Toyota Elk357
193Szynaka-Meble250
194Warmia i Mazury1204
195Danet07143

Przykłady wyrażeń regularnych

Kod pocztowy: 10 – 600  -> [0-9][0-9]-[0-9][0-9][0-9]

Adres email: [_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*.([a-zA-Z]{2,}){1}

Więcej tekstów z kategorii JAVA

Published inJAVASzkoła Programowania