Scala Regex

Scala Regex
Regex i Scala -programmeringsspråket står for vanlig uttrykk. Et slikt uttrykk brukes omfattende for mønstermatching, i.e. En sekvens av tegn er definert som et mønster, og dette mønsteret blir søkt på tvers av en gitt inngangstekst. Denne guiden vil lære å bruke Scala Regex i Ubuntu 20.04.

Hva er regex på scala -programmeringsspråket?

Regex i Scala tjener samme formål som vanlig uttrykk på noe annet programmeringsspråk. Denne funksjonen implementeres i skala.util.matchende.Regex -bibliotek kan brukes veldig praktisk for å finne noen mønsterforekomster i den gitte teksten. Denne funksjonen brukes i forbindelse med "Finn" eller "erstatt" -funksjonene til Scala for å finne og erstatte samsvarende mønster. Dessuten står du fritt til å bruke dette mønsteret som matcher for bare den første forekomsten av mønsteret i den gitte teksten eller alle dets forekomster.

Hvordan bruke Scala Regex?

For å bruke Scala Regex for mønstermatching, kan du se følgende eksempler som vi har gitt deg:

Eksempel 1: Bruke Scala Regex for å finne den første forekomsten av ønsket mønster:

Noen ganger vil du bare finne ut den første forekomsten av et mønster fra en gitt streng. For å gjøre det, kan du ta hjelp fra Scala -skriptet vist på bildet nedenfor:

Vi har hovedklassen som heter "regex" inne som vi har definert vår "main ()" -funksjon. Deretter har vi definert et tilfeldig mønster hvis forekomst vi ønsker å se etter i en inngangsstreng. Mens vi definerer dette mønsteret, har vi kalt “R” -funksjonen med det som vil utføre den faktiske mønstermatchingen. Deretter har vi erklært en verdi som heter “Input” og tildelt en streng der vi ønsker å finne det matchende mønsteret. Til slutt har vi brukt "FindFirstin" -funksjonen i vår "Println" -uttalelse for å skrive ut den første forekomsten av samsvarende mønster på terminalen.

Kommandoen vist nedenfor ble brukt til å sammenstille dette Scala -skriptet:

$ Scalac Regex.Scala

Deretter har vi brukt følgende utførelseskommando med klassenavnet for å utføre dette Scala -skriptet:

$ Scala Regex

Du kan se den første forekomsten av det spesifiserte mønsteret i bildet vist nedenfor. Uttalelsen “Some (Scala)” representerer den første forekomsten av mønsteret som er spesifisert i Scala -skriptet vårt.

Eksempel 2: Bruke Scala Regex for å finne alle forekomstene i ønsket mønster:

Noen ganger vil du finne ut alle forekomstene i det matchende mønsteret fra en gitt streng. For det kan du ta hjelp fra følgende Scala -kode:

I dette eksemplet har vi brukt det samme mønsteret for matching som vi brukte i vårt første eksempel. Vi har imidlertid endret inngangsstrengen litt på en måte som det gitte mønsteret skjer to ganger i inngangsstrengen vår. For å skrive ut alle disse forekomstene av det samsvarende mønsteret på terminalen, har vi brukt "FindAllin" -metoden i stedet for "FindFirstin" -metoden i "Println" -uttalelsen. Dessuten har vi også brukt "Mkstring" -metoden for å skille ut flere forekomster av det matchende mønsteret med kommaer mens vi viser dem på terminalen. Du kan bruke hvilken som helst annen karakter i stedet for et komma for å skille ut ordene i utdataene dine.

Etter å ha sammenstilt og utført dette Scala -skriptet, dukket alle forekomstene i matchingsmønsteret opp på terminalen, som vist på bildet nedenfor:

Eksempel nr. 3: Bruke Scala Regex for mønstermatching ved bruk av både øvre og nedre tilfeller:

Noen ganger, i stedet for bare å lete etter et mønster som begynner med et enkelt tilfelle, ønsker vi å se etter det for både de øvre og nedre tilfeller. For det må du se på følgende bilde:

I dette eksemplet er mønsteret vårt det samme som vi har brukt i eksemplene ovenfor; For å finne det matchende mønsteret som begynner med begge tilfeller, har vi imidlertid skilt "S" og "S" fra hverandre ved hjelp av et rør mens vi definerer dette mønsteret. Vi har også endret inngangsstrengen litt på en måte som det gitte mønsteret skjer både i øvre og nedre tilfeller i inngangsstrengen vår. Deretter har vi brukt "findAllin" -metoden for å skrive ut alle forekomstene i det samsvarende mønsteret på terminalen.

Du kan være vitne til fra bildet som er vist nedenfor at ovennevnte Scala-skript klarte å vise alle forekomstene i det samsvarende mønsteret på terminalen uavhengig av saken deres.

Eksempel 4: Bruke Scala Regex for å finne og erstatte det gitte mønsteret:

Endelig vil du kanskje ikke bare finne et matchende mønster; Snarere kan det være lurt å erstatte alle dens forekomster med et annet ord eller setning. Følgende Scala -skript vil hjelpe deg med å oppnå denne typen funksjonalitet:

I dette eksemplet har vi det samme mønsteret som vi brukte i vårt tredje eksempel og den samme inngangsstrengen. Imidlertid, mens vi kaller “println” -kommandoen, i stedet for å bruke "findallin" -metoden, har vi imidlertid brukt "erstatningsmetoden" mønster. Hvis du bare vil erstatte den første forekomsten av matchingmønsteret, bør du i stedet for å bruke "erstatningsmetoden" bruke "erstatningsfirstin" -metoden.

Du kan se fra bildet vist nedenfor at Scala -skriptet vårt har klart å finne og erstatte det matchende mønsteret med en ny streng.

Konklusjon:

Denne artikkelen handlet om å bruke regex -metoden til dette Scala -programmeringsspråket. Denne funksjonen brukes mye for mønstermatching fra en gitt inngangsstreng. For å utdype bruken på Scala -programmeringsspråket, forklarte vi fire forskjellige eksempler for deg som presenterte flere varianter av å bruke denne funksjonen i Scala. Ved å gå gjennom disse variasjonene, kan du enkelt forstå regex -funksjonen til Scala -programmeringsspråket.