Regex Tutorial - Hvordan skrive vanlige uttrykk?
Et vanlig uttrykk (regex) er en sekvens av tegn som definerer et søkemønster. Slik skriver du vanlige uttrykk:
- Begynn med å forstå spesialtegnene som brukes i regex som '.' '*' '+' '?' Og mer.
- Velg et programmeringsspråk eller verktøy som støtter Regex som Python Perl eller GREP.
- Skriv mønsteret ditt ved hjelp av spesialtegnene og bokstavelige tegn.
- Bruk riktig funksjon eller metode for å søke etter mønsteret i en streng.
Eksempler:
- For å matche en sekvens av bokstavelige tegn, skriver du bare disse karakterene i mønsteret.
- For å matche en enkelt karakter fra et sett med muligheter, bruk firkantede parenteser f.eks. [0123456789] Matcher ethvert siffer.
- For å matche null eller flere forekomster av det foregående uttrykket, bruk Star (*) -symbolet.
- For å matche en eller flere forekomster av det foregående uttrykket, bruk pluss (+) -symbolet.
- Det er viktig å merke seg at Regex kan være sammensatt og vanskelig å lese, så det anbefales å bruke verktøy som Regex -testere for å feilsøke og optimalisere mønstrene dine.
Et vanlig uttrykk (noen ganger kalt et rasjonelt uttrykk) er en sekvens av tegn som definerer et søkemønster hovedsakelig for bruk i mønstermatching med strenger eller strengmatching, dvs. 'Finn og erstatt' som operasjoner. Regelmessige uttrykk er en generalisert måte å matche mønstre med sekvenser av karakterer. Det brukes på hvert programmeringsspråk som C ++ Java og Python.
Hva er et vanlig uttrykk og hva gjør det så viktig?
Regex brukes i Google Analytics I URL -matching i å støtte søk og erstattes i de fleste populære redaktører som Sublime Notisblokk ++ Brockets Google Docs og Microsoft Word.
Example : Regular expression for an email address :
^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{25})$Ovennevnte regulære uttrykk kan brukes til å sjekke om et gitt sett med tegn er en e -postadresse eller ikke.
Hvordan skrive vanlige uttrykk?
Det er visse elementer som brukes til å skrive vanlige uttrykk som nevnt nedenfor:
1. Repeatere (* + og {})
Disse symbolene fungerer som repeatere og forteller datamaskinen at den foregående karakteren skal brukes til mer enn bare en gang.
2. Asterisk -symbolet ( *)
Den forteller datamaskinen om å matche den foregående karakteren (eller settet med tegn) i 0 eller flere ganger (opp til uendelig).
Example : The regular expression ab*c will give ac abc abbc abbbc….and so on3. Pluss -symbolet ( +)
Den ber datamaskinen om å gjenta det foregående tegnet (eller settet med tegn) i minst en eller flere ganger (opp til uendelig).
Example : The regular expression ab+c will give abc abbc
abbbc … and so on.4. De krøllete seler {…}
Den forteller datamaskinen om å gjenta det foregående tegnet (eller settet med tegn) i så mange ganger som verdien i denne braketten.
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 (.)
Pot -symbolet kan ta plassen til ethvert annet symbol som er grunnen til at det kalles jokertegnskarakteren.
Example :
The Regular expression .* will tell the computer that any character
can be used any number of times.6. Valgfritt tegn (?)
Dette symbolet forteller datamaskinen at den foregående karakteren kanskje ikke er til stede i strengen som skal matches.
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 ( ^) symbolet ( Sette stilling for kampen)
Vaktsymbolet forteller datamaskinen at kampen må starte i begynnelsen av strengen eller linjen.
Example : ^d{3} will match with patterns like '901' in '901-333-'.8. Dollaren ($) symbolet
Den forteller datamaskinen at kampen må skje på slutten av strengen eller før n på slutten av linjen eller strengen.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.9. Karakterklasser
En karakterklasse samsvarer med en av et sett med karakterer. Det brukes til å matche det mest grunnleggende elementet i et språk som et bokstav et siffer et rom et symbol osv.
s : samsvarer med alle hvitromstegn som Space og Tab.
S : samsvarer med eventuelle ikke-hvite.
d : samsvarer med ethvert siffer.
D: samsvarer med eventuelle ikke-sifrede tegn.
I : samsvarer med et hvilket som helst ordkarakter (i utgangspunktet alfa-numerisk)
I : samsvarer med ethvert ikke-ordet tegn.
b : samsvarer med hvilken som helst ordgrense (dette vil omfatte Spaces Dashes Commas Semi-Colons etc.
[set_of_characters]: Matcher ethvert enkelt tegn i set_of_characters. Som standard er kampen case-sensitiv.Example : [abc] will match characters ab and c in any string.10. [^set_of_characters] Negasjon:
Samsvarer med en hvilken som helst enkelt karakter som ikke er i set_of_characters. Som standard er kampen case-sensitiv.
Example : [^abc] will match any character except abc .11. [Først siste] Karakterområde:
Matcher en hvilken som helst enkelt karakter i området fra første til sist.
Example : [a-zA-z] will match any character from a to z or A to Z.12. Rømningssymbolet ()
Hvis du vil matche for de faktiske ‘+’ ‘.’ ETC -tegnene legger til en tilbakeslag () før den karakteren. Dette vil fortelle datamaskinen om å behandle følgende karakter som et søkekarakter og vurdere det for et matchende mønster.
Example : d+[+-x*]d+ will match patterns like '2+2'
and '3*9' in '(2+2) * 3*9'.13. Gruppere tegn ()
Et sett med forskjellige symboler på et vanlig uttrykk kan grupperes sammen for å fungere som en enkelt enhet og oppføre seg som en blokk for dette må du pakke det vanlige uttrykket i parentesen ().
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. Vertikal stang (|)
Matcher et hvilket som helst element atskilt med den vertikale stangen (|) karakteren.
Example : th(e|is|at) will match words - the this and that.15. Nummer
Backreference: tillater en tidligere matchet subuttrykk (uttrykk som er fanget eller lukket i sirkulære parenteser) kan identifiseres senere i det samme vanlige uttrykket. n betyr at gruppen som er innelukket innenfor n-th-braketten, vil bli gjentatt i nåværende stilling.
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. Hvordan (?# Kommentar)
Inline -kommentar: Kommentaren avsluttes ved den første lukkende parentesen.
Example : bA(?#This is an inline comment)w+b17. # [til slutten av linjen]
X-Mode-kommentar. Kommentaren starter på et ikke -vesenlig # og fortsetter til slutten av linjen.
Example : (?x)bAw+b#Matches words starting with A