Regulārā izteiksme (regulārā izteiksme) ir rakstzīmju secība, kas nosaka meklēšanas modeli. Lūk, kā rakstīt regulāras izteiksmes:
- Sāciet, izprotot regulārajā izteiksmē izmantotās īpašās rakstzīmes, piemēram, ., *, +, ? un citas.
- Izvēlieties programmēšanas valodu vai rīku, kas atbalsta regulāro izteiksmi, piemēram, Python, Perl vai grep.
- Uzrakstiet savu rakstu, izmantojot īpašās rakstzīmes un burtiskās rakstzīmes.
- Izmantojiet atbilstošo funkciju vai metodi, lai virknē meklētu rakstu.
Piemēri:
- Lai atbilstu burtisku rakstzīmju secībai, vienkārši ierakstiet šīs rakstzīmes shēmā.
- Lai atbilstu vienai rakstzīmei no iespēju kopas, izmantojiet kvadrātiekavas, piemēram, [0123456789] atbilst jebkuram ciparam.
- Lai atbilstu nullei vai vairākiem iepriekšējās izteiksmes gadījumiem, izmantojiet zvaigznītes (*) simbolu.
- Lai atbilstu vienam vai vairākiem iepriekšējās izteiksmes gadījumiem, izmantojiet plusa (+) simbolu.
- Ir svarīgi ņemt vērā, ka regulārā izteiksme var būt sarežģīta un grūti lasāma, tāpēc modeļu atkļūdošanai un optimizēšanai ieteicams izmantot tādus rīkus kā regulārās izteiksmes testeri.
Regulārā izteiksme (dažreiz saukta par racionālu izteiksmi) ir rakstzīmju secība, kas definē meklēšanas modeli, galvenokārt izmantošanai raksta saskaņošanā ar virknēm vai virkņu saskaņošanai, t.i., līdzīgu darbību atrašanai un aizstāšanai. Regulārās izteiksmes ir vispārināts veids, kā saskaņot modeļus ar rakstzīmju secībām. To izmanto visās programmēšanas valodās, piemēram, C++, Java un Python.
Kas ir regulārā izteiksme un kāpēc tā ir tik svarīga?
Regex tiek izmantots Google Analytics URL atbilstības noteikšanā, atbalstot meklēšanu un aizstājot populārākajos redaktoros, piemēram, Sublime, Notepad++, Brackets, Google Docs un Microsoft Word.
Example : Regular expression for an email address : ^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$> Iepriekš minēto regulāro izteiksmi var izmantot, lai pārbaudītu, vai noteiktā rakstzīmju kopa ir e-pasta adrese.
Kā uzrakstīt regulāras izteiksmes?
Regulāro izteiksmju rakstīšanai tiek izmantoti daži elementi, kā minēts tālāk:
fibonači sērija java
1. Atkārtotāji (*, + un { } )
Šie simboli darbojas kā atkārtotāji un norāda datoram, ka iepriekšējā rakstzīme ir jāizmanto vairāk nekā vienu reizi.
2. Zvaigznītes simbols ( * )
Tas liek datoram saskaņot iepriekšējo rakstzīmi (vai rakstzīmju kopu) 0 vai vairāk reizes (līdz bezgalībai).
Example : The regular expression ab*c will give ac, abc, abbc, abbbc….and so on>
3. Plusa simbols (+)
Tas liek datoram atkārtot iepriekšējo rakstzīmi (vai rakstzīmju kopu) vismaz vienu vai vairākas reizes (līdz bezgalībai).
Example : The regular expression ab+c will give abc, abbc, abbbc, … and so on.>
4. Cirtainās breketes { … }
Tas liek datoram atkārtot iepriekšējo rakstzīmi (vai rakstzīmju kopu) tik reižu, cik vērtība ir šajā iekavā.
ātrā šķirošana
Example : {2} means that the preceding character is to be repeated 2 times, {min,} means the preceding character is matches min or more times. {min,max} means that the preceding character is repeated at least min & at most max times.> 5. Aizstājējzīme ( . )
Punkta simbols var aizstāt jebkuru citu simbolu, tāpēc to sauc par aizstājējzīmi.
Example : The Regular expression .* will tell the computer that any character can be used any number of times.>
6. Izvēles rakstzīme (?)
Šis simbols norāda datoram, ka atbilstošā virknē iepriekšējā rakstzīme var būt vai nebūt.
Example : We may write the format for document file as – docx? The ‘?’ tells the computer that x may or may not be present in the name of file format.>
7. Simbols ( ^ ). ( Iestatījuma pozīcija mačam)
Caret simbols norāda datoram, ka atbilstībai jāsākas virknes vai rindas sākumā.
Example : ^d{3} will match with patterns like '901' in '901-333-'.> 8. Dolāra ( $ ) simbols
Tas norāda datoram, ka atbilstībai ir jānotiek virknes beigās vai pirms rindas vai virknes beigās.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.> 9. Rakstzīmju klases
Rakstzīmju klase atbilst jebkurai rakstzīmju kopai. To izmanto, lai atbilstu visvienkāršākajiem valodas elementiem, piemēram, burtam, ciparam, atstarpei, simbolam utt.
s : atbilst visām atstarpes rakstzīmēm, piemēram, atstarpe un tabulēšana.
S : atbilst visām rakstzīmēm, kas nav atstarpes.
d : atbilst jebkurai cipara rakstzīmei.
D: atbilst visām rakstzīmēm, kas nav cipari.
In : atbilst jebkurai vārda rakstzīmei (pamatā burtu un ciparu)
IN : atbilst jebkurai rakstzīmei, kas nav vārds.
: atbilst jebkurai vārda robežai (tas ietver atstarpes, domuzīmes, komatus, semikolus utt.).
[set_of_characters]: Atbilst jebkurai rakstzīmei kopas_rakstzīmju_kopā. Pēc noklusējuma atbilstība ir reģistrjutīga.
Example : [abc] will match characters a,b and c in any string.>
10. [^rakstzīmju_kopa] Noliegums:
Atbilst jebkurai atsevišķai rakstzīmei, kas nav ietverta rakstzīmju_kopā. Pēc noklusējuma atbilstība ir reģistrjutīga.
java abstraktā klase
Example : [^abc] will match any character except a,b,c .>
11. [pirmais-pēdējais] Rakstzīmju diapazons:
Atbilst jebkurai atsevišķai rakstzīmei diapazonā no pirmās līdz pēdējai.
Example : [a-zA-z] will match any character from a to z or A to Z.>
12. Aizbēgšanas simbols ()
Ja vēlaties atbilst faktiskajām rakstzīmēm “+”, “.” utt., pirms šīs rakstzīmes pievienojiet atpakaļvērsto slīpsvītru ( ). Tas liks datoram uzskatīt šādu rakstzīmi kā meklēšanas rakstzīmi un apsvērt to, lai atrastu atbilstošo modeli.
Example : d+[+-x*]d+ will match patterns like '2+2' and '3*9' in '(2+2) * 3*9'.>
13. Rakstzīmju grupēšana ( )
Dažādu regulārās izteiksmes simbolu kopu var grupēt kopā, lai darbotos kā viena vienība un darbotos kā bloks. Lai to izdarītu, regulārā izteiksme ir jāiekļauj iekavās ( ).
Example : ([A-Z]w+) contains two different elements of the regular expression combined together. This expression will match any pattern containing uppercase letter followed by any character.>
14. Vertikālā josla ( | )
Atbilst jebkuram elementam, kas atdalīts ar vertikālās joslas (|) rakstzīmi.
Example : th(e|is|at) will match words - the, this and that.>
15. skaitlis
Atsauce: ļauj iepriekš saskaņotu apakšizteiksmi (izteiksmi, kas ir tverta vai ietverta apļveida iekavās ) vēlāk identificēt tajā pašā regulārajā izteiksmē. nozīmē, ka grupa, kas atrodas n-tajā iekavā, tiks atkārtota pašreizējā pozīcijā.
Example : ([a-z])1 will match ee in Geek because the character at second position is same as character at position 1 of the match.>
16. Kā ( ?# komentārs )
Iekļauts komentārs: komentārs beidzas pirmajās beigu iekavās.
Example : A(?#This is an inline comment)w+>
17. # [līdz rindas beigām]
X režīma komentārs. Komentārs sākas ar # bez atsoļa un turpinās līdz rindas beigām.
Example : (?x)Aw+#Matches words starting with A>