JavaScript

Javascript Regular Expression

Javascript Regular Expression
Många programmerare känner till tanken att det reguljära uttrycket är ett användbart men underskattat koncept. Men de vet inte så bra hur man använder reguljära uttryck effektivt. Vanliga uttryck används inte bara i Javascript utan i nästan alla andra programmeringsspråk. I den här artikeln lär du dig om reguljära uttryck steg för steg. Det bör vara enkelt för programmerare på alla nivåer att förstå begreppen som omfattas av den här artikeln.

A Vanligt uttryck är ett objekt där mönster ges för att matcha med önskad sträng.

Syntax

Syntaxen för ett reguljärt uttryck är mycket enkel och kan skrivas enligt följande:

/ mönster / flaggor

A mönster är en sträng där du anger ett mönster som matchar en annan sträng.
Flaggor är valfria attribut som tjänar olika syften. Till exempel står flaggan "g" för "global" bland många andra.

Omfattningen av reguljära uttryck är mycket bred. Vi visar dig de grundläggande som är mest nödvändiga för programmering genom en steg-för-steg-förklaring och några exempel från verkliga livet.

Det finns många metoder där du kan behöva använda reguljära uttryck, till exempel i Javaskripts sökmetoder (), ersätt (), matcha () och dela (). Vi börjar med en enkel strängsökning utan att använda det reguljära uttrycket, och senare kommer vi att visa dig hur du utför samma sökning med hjälp av reguljära uttryck.

Exempel

Vi antar först strängen:

let str = "Linuxhint är jättebra. linuxhint fungerar bra och utför 100%."

Vi har upprepat samma ord ”bra”Och”linuxhint”I frasen. Syftet med denna konstiga sträng kommer att bli uppenbart om ett ögonblick.

OK! Nu skriver vi helt enkelt Javascript-söksträngsmetoden för att söka efter termen "arbete"

str.sök ("arbete");


Som du kan se visar indexet varifrån det givna underlaget "arbete" började. Nu ska vi gå vidare och försöka göra samma sak med regex-syntaxen.

Steg 1: Sök och ersätt ett understräng

Du kan söka efter en matchande sträng med ett vanligt uttryck genom att helt enkelt placera understrängen mellan de två snedstrecken i uttrycket.

str.sök (/ arbete /);


Som du kan se har det också gett oss samma resultat.

OK! Nu ska vi se vad vi kan göra med det reguljära uttrycket. Låt oss försöka ersätta ordet ”bra”Med, säg,“grymt bra”Med ersättningsmetoden ().

str.ersätt ("bra", "fantastisk");


Här kan du se problemet: den första förekomsten av “bra”Har ersatts, men den andra inte.

I det första steget lärde du dig bara att söka efter en sträng med ett reguljärt uttryck. Nu ska vi gå vidare till nästa steg och lära oss om flaggkonceptet.

Steg 2: Flaggor

I det här steget lär du dig mer om konceptet och syftet med flaggor i reguljära uttryck. Vi kommer att använda Javaskripts ersättningsmetod för att förklara denna idé.

Om du vill ersätta alla förekomster av “bra,”Du kan använda det reguljära uttrycket med 'gflagga, vilket är en förkortning för global.

str.ersätt (/ great / g, "fantastisk");


Perfekt, alla förekomster av "stora" har nu förändrats. Men du kan stöta på ett problem om du försöker ändra alla förekomster av "linuxhint" till, säg "vår webbplats" med samma teknik.

Vi kommer att försöka göra det först och sedan se hur vi kan lösa problemet.

str.ersätt (/ linuxhint / g, "vår webbplats");


Även om vi har förser den globala flaggan med det reguljära uttrycket, ändras inte den första förekomsten. Detta beror på skiftlägeskänslighet. Så, vi kommer också att behöva tillhandahålla fallkänslighetsflaggan ''i,' I detta fall. Du kan göra detta helt enkelt genom att lägga tilli"flagga tillsammans med"gflagga.

str.ersätt (/ linuxhint / gi, "vår webbplats");


Bra. Som du kan se är alla förekomster av termen ”linuxhint”Har ändrats till termen”vår websida,”Oavsett skiftlägeskänslighet.

På samma sätt kan du använda reguljära uttryck i Javaskripts split () -funktion.

str.split (/ linuxhint / gi);


OK! Funktionen fungerade bra. Split () -metoden har returnerat arrayen av understrängar, baserat på termen “linuxhint”. Men om du också vill inkludera separatorerna i substringens array, måste du spela med mönstren.

Så i det här steget har vi lärt oss om flaggorna och hur de hjälper oss. Det finns fler flaggor tillgängliga. Till exempel är "m" för flerspråkig matchning, "s" är för punkt alla osv. Nu ska vi gå vidare till begreppet mönster och lära oss hur man använder dessa objekt.

Steg 3: Mönster

I det här steget lär du dig hur du använder mönstren och relaterade alternativ.
För att inkludera separatorerna i underlagets array, lägg bara till parenteser runt mönstret, vilket kan ses i följande bild:

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


Perfekt! Som du kan se ingår separatorerna också i uppsättningen av underlag.

För att dela basen av två separatorer kan du ge flera understrängar i ett reguljärt uttryck med ELLER “|” operatör.

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


Okej! Operatören arbetade bra, eftersom vi förväntar oss att den skulle splittras.

Backslash

Nu, att dela mellan basen av utrymmet "" eller prick "."Vilket innebär att du lägger till specialtecken i det reguljära uttrycket, lägger till ett snedstreck" \ "före specialtecken.

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


Okej, hittills, så bra. Till exempel, säg, du vill ändra punkterna till komma i följande uttryck:

str.byta ut(/\./ g, ",");


Det fungerade!

Backslash används också för ett annat syfte. För att söka i valfritt ord, siffra eller mellanslag kan du använda \ w, \ d respektive \ s. För att till exempel ersätta mellanslag med bindestreck används följande uttryck:

str.ersätt (/ \ s / g, "-");


Grymt bra! Du kan verkligen se potentialen i reguljära uttryck nu.

Hakparentes [ ]

Om du vill ersätta flera tecken i en sträng kan du ge dem alla i en enda hakparentes, och de kommer att ersättas av den angivna understrängen. Till exempel, om du vill ersätta tre bokstäver i en sträng och du inte vill lägga till mycket ELLER “|” operatörer i det reguljära uttrycket, kan du använda syntax med hakparentes, där du kan ge flera bokstäver, så här:

str.ersätt (/ [nia] / g, "u");


Du kan till och med ge ett antal bokstäver, så här:

str.ersätt (/ [g-l] / g, "u");


Eller ett antal siffror:

str.ersätt (/ [0-5] / g, "9");


Och om du vill utesluta de angivna tecknen i hakparenteserna kan du använda caret-tecknet så här:

str.ersätt (/ [^ g-l] / g, "t");


Detta är till nytta när du hämtar data från användare och testar och validerar data, särskilt i e-post-, telefon- eller datumvalidering.

Slutsats

Den här artikeln har precis repat ytan på Javascript-reguljära uttryck. Det täcker bara begreppen från nybörjare till mellannivå. Det finns mycket mer att lära sig om det reguljära uttrycket, och du kan använda detta uttryck för att göra många saker som du kanske inte ens har tänkt på. För att fortsätta lära, arbeta och få mer erfarenhet av Javascript, kolla in fler artiklar om detta ämne på linuxhint.com.

Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...
Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...