JavaScript vanlig uttrykk

JavaScript vanlig uttrykk
Mange programmerere er kjent med forestillingen om at det vanlige uttrykket er et nyttig, men undervurdert konsept. Men de vet ikke så godt hvordan de bruker vanlige uttrykk effektivt. Regelmessige uttrykk brukes ikke bare JavaScript, men nesten alle andre programmeringsspråk. I denne artikkelen vil du lære om vanlige uttrykk trinn for trinn. Det skal være enkelt for programmerere på ethvert nivå å forstå konseptene som dekkes i denne artikkelen.

EN Vanlig uttrykk er et objekt der mønstre blir gitt for å matche ønsket streng.

Syntaks

Syntaksen for et vanlig uttrykk er veldig enkelt, og kan skrives som følger:

/mønster/flagg

EN mønster er en streng der du gir et mønster for å matche en annen streng.
Flagg er valgfrie attributter som tjener varierte formål. For eksempel står flagget “G” for “Global”, blant mange andre.

Omfanget av vanlige uttrykk er veldig bredt. Vi vil vise deg de grunnleggende som er mest nødvendige for programmering gjennom en trinn-for-trinns forklaring og noen eksempler i det virkelige liv.

Det er mange metoder der du kanskje trenger å bruke vanlige uttrykk, for eksempel i JavaScripts søk (), erstatte (), match () og split () metoder. Vi starter med et enkelt strengsøk uten å bruke det vanlige uttrykket, og senere vil vi vise deg hvordan du utfører det samme søket ved hjelp av vanlige uttrykk.

Eksempler

Vi vil først anta at strengen:

la str = "linuxhint er flott. Linuxhint fungerer bra og presterer 100%.""

Vi har gjentatt det samme ordet “flott”Og“Linuxhint”I uttrykket. Hensikten med denne rare strengen vil bli åpenbar om et øyeblikk.

Ok! Nå vil vi ganske enkelt skrive JavaScript Search String -metoden for å søke etter begrepet “arbeid”

str.søk ("arbeid");


Som du kan se, viser den indeksen der det gitte underlaget "arbeidet" begynte. Nå vil vi gå videre og prøve å gjøre det samme med regex -syntaksen.

Trinn 1: Søk og erstatt en substring

Du kan søke etter en matchende streng ved hjelp av et vanlig uttrykk ved å bare plassere substringen mellom de to skråstrekene i uttrykket.

str.søk (/arbeid/);


Som du ser har det også gitt oss den samme produksjonen.

Ok! Nå får vi se hva vi kan gjøre med det vanlige uttrykket. La oss prøve å erstatte ordet “flott”Med, si:”Rått”Bruke erstatningsmetoden ().

str.erstatte ("flott", "fantastisk");


Her kan du se problemet: den første forekomsten av “flott”Er erstattet, men den andre har ikke det.

I det første trinnet lærte du ganske enkelt hvordan du søker etter en streng ved hjelp av et vanlig uttrykk. Nå vil vi bevege oss mot neste trinn og lære om konseptet med flagg.

Trinn 2: Flagg

I dette trinnet vil du lære mer om konseptet og formålet med flagg i vanlige uttrykk. Vi vil bruke JavaScripts erstatningsmetode for å forklare denne ideen.

Hvis du vil erstatte alle forekomstene av “flott,”Du kan bruke det vanlige uttrykket med 'g'Flagg, som er forkortelse for global.

str.erstatte (/flott/g, "kjempebra");


Perfekt, alle forekomstene av "Great" er nå endret. Men du kan møte et problem hvis du prøver å endre alle forekomstene av "Linuxhint" til, si: "Vårt nettsted" ved å bruke den samme teknikken.

Vi vil prøve å gjøre det først, så får vi se hvordan vi kan løse dette problemet.

str.erstatte (/linuxhint/g, "vår hjemmeside");


Selv om vi har gitt det globale flagget med det vanlige uttrykket, endres ikke den første forekomsten. Dette er på grunn av saksfølsomhet. Så vi må også gi saksfølsomhetsflagget 'Jeg,' i dette tilfellet. Du kan gjøre dette bare ved å legge til 'Jeg'Flagg sammen med'g' flagg.

str.erstatte (/linuxhint/gi, "vår hjemmeside");


Flott. Som du kan se, alle forekomster av begrepet “Linuxhint”Har blitt endret til begrepet“vår nettside,”Uansett sakssensitivitet.

Tilsvarende kan du bruke vanlige uttrykk i JavaScripts split () -funksjon.

str.split (/linuxhint/gi);


Ok! Funksjonen fungerte bra. Split () -metoden har returnert utvalget av underlag, basert på "Linuxhint" -begrepet. Men hvis du også vil inkludere separatorene, i utvalget av Substring, må du leke med mønstrene.

Så i dette trinnet har vi lært om flaggene og hvordan de hjelper oss. Det er flere flagg tilgjengelig. For eksempel er "m" for multiline matching, "s" er for prikk alt osv. Nå vil vi gå videre til begrepet mønstre og lære å bruke disse varene.

Trinn 3: Mønstre

I dette trinnet lærer du hvordan du bruker mønstrene og relaterte alternativer.
For å inkludere separatorene i utvalget av substringen, kan du bare legge til parentes rundt mønsteret, som det kan sees i følgende bilde:

str.split (/(linuxhint)/gi);


Perfekt! Som du kan se, er separatorene også inkludert i utvalget av underlag.

For å dele basen til to separatorer, kan du gi flere underlag i et vanlig uttrykk ved å bruke OR “|” operatør.

str.Split (/Linuxhint | Great/Gi);


Greit! Operatøren fungerte bra, da vi forventer at den skal dele seg.

Backslash

Nå, for å dele seg mellom basen av rommet ““ eller prikken ”.”Betydning for å legge til spesialtegn i det vanlige uttrykket, legg til en tilbakeslag“ \ ”før noen spesialtegn.

str.split (/\ | \./gi);


Ok, så langt, så bra. For eksempel, si, du vil endre prikkene til komma i følgende uttrykk:

str.erstatte(/\./g, ",");


Det funket!

Bakslinger brukes også til et annet formål. For å søke på ethvert ord, siffer eller plass, kan du bruke henholdsvis \ w, \ d og \ s. For å erstatte mellomrom med streker, brukes følgende uttrykk for eksempel:

str.erstatte (/\ s/g, "-");


Rått! Du kan virkelig se potensialet i vanlige uttrykk, nå.

Firkantede parenteser []

Hvis du vil bytte ut flere tegn i en streng, kan du gi dem alle i en kvadratisk brakett, og de vil bli erstattet av den gitte substring. Hvis du for eksempel vil erstatte tre bokstaver i en streng og ikke vil legge mye eller "|" Operatører I det vanlige uttrykket kan du bruke SQUARE BRACKET SYNTAX, der du kan gi flere bokstaver, som dette:

str.erstatte (/[nia]/g, "u");


Du kan til og med gi en rekke bokstaver, som dette:

str.erstatte (/[g-l]/g, "u");


Eller, en rekke tall:

str.erstatte (/[0-5]/g, "9");


Og hvis du vil ekskludere de medfølgende tegnene i de firkantede parentesene, kan du bruke Caret -karakteren, som dette:

str.erstatte (/[^g-l]/g, "t");


Dette kommer godt med når du får data fra brukere og testing og validering av data, spesielt i e -post, telefon eller datavalidering.

Konklusjon

Denne artikkelen har nettopp klødd på overflaten til JavaScript regelmessig uttrykk. Det dekker konseptene bare fra nybegynner til mellomnivå. Det er mye mer å lære om det vanlige uttrykket, og du kan bruke dette uttrykket til å gjøre mange ting du kanskje ikke en gang har tenkt på. For å fortsette å lære, jobbe og få mer erfaring i JavaScript, sjekk ut flere artikler om dette emnet på Linuxhint.com.