Et regulært uttrykk (regex) er en sekvens av tegn som definerer et søkemønster. Slik skriver du regulære uttrykk:
- Begynn med å forstå spesialtegnene som brukes i regulært uttrykk, for eksempel ., *, +, ? og mer.
- Velg et programmeringsspråk eller verktøy som støtter regulært uttrykk, for eksempel Python, Perl eller grep.
- Skriv mønsteret ditt ved hjelp av spesialtegn 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, skriv ganske enkelt disse tegnene i mønsteret.
- For å matche et enkelt tegn fra et sett med muligheter, bruk firkantede parenteser, f.eks. [0123456789] samsvarer med et hvilket som helst siffer.
- For å matche null eller flere forekomster av det foregående uttrykket, bruk stjerne (*)-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 komplisert og vanskelig å lese, så det anbefales å bruke verktøy som regex-testere for å feilsøke og optimalisere mønstrene dine.
Et regulært 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 lignende operasjoner. Regulære uttrykk er en generalisert måte å matche mønstre med sekvenser av tegn. Det brukes i alle programmeringsspråk som C++, Java og Python.
Hva er et regulært uttrykk og hva gjør det så viktig?
Regex brukes i Google Analytics i URL-matching i støtte for søk og erstatter i de fleste populære redaktører som Sublime, Notepad++, Brackets, Google Docs og Microsoft Word.
Example : Regular expression for an email address : ^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$> Det regulære uttrykket ovenfor kan brukes til å sjekke om et gitt sett med tegn er en e-postadresse eller ikke.
Hvordan skrive regulære uttrykk?
Det er visse elementer som brukes til å skrive regulære uttrykk som nevnt nedenfor:
tilkoblinger i java
1. Repeatere ( *, + og { } )
Disse symbolene fungerer som repeatere og forteller datamaskinen at det foregående tegnet skal brukes mer enn bare én gang.
2. Stjernesymbolet ( * )
Den forteller datamaskinen å matche det foregående tegnet (eller settet med tegn) 0 eller flere ganger (opptil uendelig).
Example : The regular expression ab*c will give ac, abc, abbc, abbbc….and so on>
3. Pluss-symbolet ( + )
Den ber datamaskinen om å gjenta det foregående tegnet (eller settet med tegn) minst én eller flere ganger (opptil uendelig).
Example : The regular expression ab+c will give abc, abbc, abbbc, … and so on.>
4. De krøllete seler { … }
Den ber datamaskinen gjenta det foregående tegnet (eller settet med tegn) like mange ganger som verdien innenfor denne parentesen.
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. Jokertegn ( . )
Punktsymbolet kan ta plassen til et hvilket som helst annet symbol, det er derfor det kalles jokertegn.
rask sortering
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 det foregående tegnet kan eller 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. Karet ( ^ )-symbolet ( Stille inn posisjon for kampen)
Caret-symbolet forteller datamaskinen at kampen må starte på begynnelsen av strengen eller linjen.
Example : ^d{3} will match with patterns like '901' in '901-333-'.> 8. Dollarsymbolet ( $ ).
modem vs ruter
Den forteller datamaskinen at treffet må skje på slutten av strengen eller før på slutten av linjen eller strengen.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.> 9. Karakterklasser
En tegnklasse samsvarer med hvilken som helst av et sett med tegn. Det brukes til å matche det mest grunnleggende elementet i et språk som en bokstav, et siffer, et mellomrom, et symbol, etc.
s : samsvarer med alle mellomromstegn som mellomrom og tabulator.
S : samsvarer med alle tegn som ikke er mellomrom.
d : samsvarer med et hvilket som helst siffertegn.
D: samsvarer med alle ikke-sifrede tegn.
I : samsvarer med et hvilket som helst ordtegn (i utgangspunktet alfanumerisk)
I : samsvarer med et hvilket som helst ikke-ord-tegn.
: samsvarer med en hvilken som helst ordgrense (dette vil inkludere mellomrom, bindestreker, kommaer, semikolon osv.
[sett_med_tegn]: Matcher ethvert enkelt tegn i sett_av_tegn. Som standard skiller samsvaret mellom store og små bokstaver.
Example : [abc] will match characters a,b and c in any string.>
10. [^sett_karakterer] Negasjon:
Matcher ethvert enkelt tegn som ikke er i sett_av_tegn. Som standard skiller samsvaret mellom store og små bokstaver.
Example : [^abc] will match any character except a,b,c .>
11. [først-siste] Tegnområde:
Matcher ethvert enkelt tegn i området fra første til siste.
linux endringsfil
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, legg til en omvendt skråstrek( ) før det tegnet. Dette vil fortelle datamaskinen om å behandle følgende tegn som et søketegn og vurdere det for et samsvarende mønster.
Example : d+[+-x*]d+ will match patterns like '2+2' and '3*9' in '(2+2) * 3*9'.>
13. Gruppering av tegn ( )
Et sett med forskjellige symboler for et regulært uttrykk kan grupperes sammen for å fungere som en enkelt enhet og oppføre seg som en blokk, for dette må du sette det regulære uttrykket i parentes( ).
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 søyle ( | )
Matcher et hvilket som helst element atskilt med tegnet med vertikal strek (|).
Example : th(e|is|at) will match words - the, this and that.>
15. ummer
Tilbakereferanse: lar et tidligere matchet underuttrykk (uttrykk fanget opp eller omsluttet av sirkulære parenteser) identifiseres i det samme regulære uttrykket. betyr at gruppen omsluttet av den n-te parentesen vil bli gjentatt ved gjeldende posisjon.
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)
Innebygd kommentar: Kommentaren slutter ved første avsluttende parentes.
Example : A(?#This is an inline comment)w+>
17. # [til slutten av linjen]
X-modus kommentar. Kommentaren starter på et # uten escape og fortsetter til slutten av linjen.
java matematikk
Example : (?x)Aw+#Matches words starting with A>