Regulāra izteiksme (regex) ir rakstzīmju secība, kas nosaka meklēšanas modeli. Lūk, kā rakstīt regulāras izteicienus:
- Sāciet ar izpratni par regex izmantotajām īpašajām rakstzīmēm, piemēram, “”. '*' '+' '?' un vēl vairāk.
- Izvēlieties programmēšanas valodu vai rīku, kas atbalsta Regex, piemēram, Python Perl vai Grep.
- Rakstiet savu modeli, izmantojot īpašās rakstzīmes un burtiskās rakstzīmes.
- Izmantojiet atbilstošu funkciju vai metodi, lai meklētu modeli virknē.
Piemēri:
- Lai atbilstu burtisko rakstzīmju secībai, vienkārši uzrakstiet šīs rakstzīmes modelī.
- Lai atbilstu vienai personāžam no iespēju kopuma, izmantojiet kvadrātiekavas, piem. [0123456789] atbilst jebkuram ciparam.
- Lai atbilstu iepriekšējās izteiksmes nulles vai vairāk notikumiem, izmantojiet STAR (*) simbolu.
- Lai atbilstu vienam vai vairākiem iepriekšējās izteiksmes gadījumiem, izmantojiet simbolu plus (+).
- Ir svarīgi atzīmēt, ka regex var būt sarežģīts un grūti lasāms, tāpēc ieteicams izmantot tādus rīkus kā regex testētāji, lai atkļūdotu un optimizētu jūsu modeļus.
Regulāra izteiksme (dažreiz saukta par racionālu izteiksmi) ir rakstzīmju secība, kas definē meklēšanas modeli galvenokārt izmantošanai modeļa saskaņošanai ar virknēm vai virknes saskaņošanu, t.i., “atrodiet un aizstājiet” kā operācijas. Regulāras izteiksmes ir vispārināts veids, kā saskaņot modeļus ar rakstzīmju secībām. To izmanto katrā programmēšanas valodā, piemēram, C ++ Java un Python.
Kas ir regulāra izpausme un kas to padara tik svarīgu?
Regex tiek izmantots Google Analytics URL saskaņošana, atbalstot meklēšanu un aizstājot populārākos redaktorus, piemēram, Sublime Notepad ++ iekavās Google Docs un Microsoft Word.
Example : Regular expression for an email address :
^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{25})$
Iepriekš minēto regulāro izteiksmi var izmantot, lai pārbaudītu, vai dotā rakstzīmju kopa ir e -pasta adrese vai nē.
'kruskal's algoritms'
Kā rakstīt regulāras izpausmes?
Ir daži elementi, ko izmanto regulāru izteiksmju rakstīšanai, kā minēts zemāk:
1. Repauerētāji (* + un {})
Šie simboli darbojas kā atkārtotāji un norāda datoram, ka iepriekšējais raksturs ir jāizmanto vairāk nekā tikai vienu reizi.
2. Asterisk simbols ( *)
Tas liek datoram saskaņot iepriekšējo rakstzīmi (vai rakstzīmju kopu) 0 vai vairāk reizes (līdz bezgalīgai).
Example : The regular expression ab*c will give ac abc abbc abbbc….and so on 3. Plus simbols ( +)
Tas datoram liek atkārtot iepriekšējo rakstzīmi (vai rakstzīmju kopu) vismaz vienu vai vairākas reizes (līdz bezgalīgai).
Example : The regular expression ab+c will give abc abbc
abbbc … and so on.
4. Cirtaini bikšturi {…}
Tas datoram liek atkārtot iepriekšējo rakstzīmi (vai rakstzīmju kopu) tik reižu, cik vērtība šajā kronšteinā.
Example : {2} means that the preceding character is to be repeated 2
times {min} means the preceding character is matches min or more
times. {minmax} means that the preceding character is repeated at
least min & at most max times.
5. Wildcard (.)
DOT simbols var ieņemt jebkura cita simbola vietu, 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 raksturs (?)
Šis simbols datoram norāda, ka iepriekšējais raksturs var būt vai nebūt saskaņā ar virkni.
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. Caret ( ^) simbols ( Iestatīšanas pozīcija mačam)
Caret simbols datoram norāda, ka mačam jāsāk virknes vai līnijas sākumā.
Example : ^d{3} will match with patterns like '901' in '901-333-'.8. Dolāra ($) simbols
Tas datoram norāda, ka mačam jānotiek virknes galā vai pirms n līnijas vai virknes galā.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.9. Rakstzīmju klases
Rakstzīmju klase sakrīt ar jebkuru no rakstzīmēm. To izmanto, lai atbilstu valodas visvienkāršākajam elementam, piemēram, burtam cipars a atstarpe simbols utt.
s : Saskaņo visas atstarpes rakstzīmes, piemēram, atstarpi un cilni.
S : atbilst visām rakstzīmēm, kas nav Whitespace.
s : atbilst jebkuram cipara raksturu.
D: atbilst jebkurai personāžai, kas nav cipari.
Iekšā : atbilst jebkuram vārda rakstzīmei (būtībā alficeric)
Iekšā : atbilst jebkuram personāžam, kas nav vārds.
bārts : Saskaņo jebkuru vārdu robežu (tas ietvertu atstarpes domuzīmju komasus semikolonus utt.
[set_of_characters]: Saskaņo jebkuru vienu rakstzīmi set_of_character. Pēc noklusējuma mačs ir jutīgs pret gadījumu.
Example : [abc] will match characters ab and c in any string.10. [^set_of_characters] Noliegums:
Saskaņo jebkuru vienotu rakstzīmi, kas nav set_of_character. Pēc noklusējuma mačs ir jutīgs pret gadījumu.
Example : [^abc] will match any character except abc .11. [Pirmais pēdējais] Rakstzīmju diapazons:
Saskaņo jebkuru vienotu rakstzīmi diapazonā no pirmā līdz pēdējam.
Example : [a-zA-z] will match any character from a to z or A to Z.12. Bēgšanas simbols ()
Ja vēlaties saskaņot faktisko “+”. ”. ETC rakstzīmes pirms šī rakstzīmes pievieno slīpsvītru (). Tas datoram liks uzskatīt šo rakstzīmi par meklēšanas rakstzīmi un apsvērt to atbilstošam modelim.
Example : d+[+-x*]d+ will match patterns like '2+2'
and '3*9' in '(2+2) * 3*9'.
13. Rakstzīmju grupēšana ()
Regulāras izteiksmes dažādu simbolu komplektu var sagrupēt, lai darbotos kā viena vienība, un uzvedas kā bloks, kas jums jāaptver regulārā izteiksme 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 (|)
Saskaņo ar vienu elementu, kas atdalīts ar vertikālo joslu (|) rakstzīmi.
hroma adreses josla
Example : th(e|is|at) will match words - the this and that.15. Numurs
Atbilde: Ļauj iepriekš saskaņotai apakš ekspresijai (ekspresija, kas uztverta vai ieslēgta apļveida kronštorās) vēlāk identificēt tajā pašā regulārajā izteiksmē. n nozīmē, ka N-Th kronšteinā norobežotā grupa tiks atkārtota pašreizējā stāvoklī.
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šējais komentārs: komentārs beidzas ar pirmo noslēguma iekavām.
Example : bA(?#This is an inline comment)w+b17. # [līdz līnijas beigām]
X režīma komentārs. Komentārs sākas ar neaptvertu # un turpinās līdz līnijas beigām.
Example : (?x)bAw+b#Matches words starting with A