Golang Regex

Golang Regex
Wyrażenie regularne, powszechnie znane jako Regex, jest sekwencją znaków, które definiują i rządzą wzorcami wyszukiwania pasujących do określonego ciągu. Wyrażenia regularne są bardzo przydatnym narzędziem podczas pracy z danymi tekstowymi.

W tym artykule zostanie zbadane, jak pracować z wyrażeniem regularnym w języku programowania Go za pomocą pakietu RegexP kompilacji.

Pakiet Golang Regexp

Pakiet Golang RegexP zapewnia metody i narzędzia do wyszukiwania, filtrowania, wymiany, sprawdzania poprawności i wyodrębniania ciągów za pomocą wyrażeń regularnych.

Aby użyć tego pakietu, musimy go zaimportować jako:

importować „RegexP”

Aby zdefiniować wzorce ekspresji regularnej, możemy użyć niektórych predefiniowanych wzorów, jak pokazano w poniższej tabeli:

Wzór Opis
. Dopasuj dowolny pojedynczy znak
[ABC] Mecz a, b lub c
\S Dopasuj postać Whitespace. \ t \ n \ f \ r
[a-c] Każda postać od A do C
[^abc] Neguj i dopasuj wszystkie postacie oprócz A, B i C
\ w Dopasuj charakter Word
a | b Alternatywny operator. a lub b, wolę
[A-Z0-9] Dopasuj dowolny znak od A do Z lub 0 do 9
\D Dopasuj dowolną cyfrę od 0 do 9
^ Na początku tekstu lub linii
? Dopasuj poprzednią postać tylko raz
+ Dopasuj poprzedni znak raz lub wiele razy
* Dopasuj poprzedni znak 0 lub wiele razy
$ Dopasuj na końcu tekstu

Metoda FindString ()

Metoda FindString () zwraca najbardziej lewą podłoże pasującego określony wzór. Jeśli nie znaleziono dopasowania, funkcja zwraca pusty ciąg.

Przykładowy kod jest taki jak pokazano:

Packagemain
import (
„FMT”
„Regexp”
)
funcMain ()
Re: = Regexp.MustCompile („f ([a-z]+) t”)
fmt.Println (re.FindString („owoce”))
fmt.Println (re.FindString („Fit”))
fmt.Println (re.FindString („False”))
fmt.Println (re.FindString („Faith”))
fmt.Println (re.FindString („poprawka”))

W poprzednim przykładzie używamy metody Must Compil, aby skompilować wzór ekspresji regularnej do zoptymalizowanego struktury regularnej.

Następnie używamy metody FindString () do zwrócenia pasujących ciągów. Poprzedni kod powinien zwrócić:

owoc
pasować
fait

Uwaga: funkcja zwraca puste sznurki, jeśli nie ma dopasowania.

Metoda FindStringIndex ()

Ta metoda zwraca wskaźnik początkowy i końcowy podłoża lewej dopasowanej przez określone wyrażenie regularne.

Przykład:

Packagemain
import (
„FMT”
„Regexp”
)
funcMain ()
Re: = Regexp.MustCompile („f ([a-z]+) t”)
fmt.Println (re.FindStringIndex („owoce”))

Poprzedni kod powinien zwrócić indeks dopasowującego podkładu. W naszym przykładzie kod zwraca z indeksu 0 do 5:

$ Go Run Regex.Iść
[0 5]

Metoda zastępcza ()

Metoda zastępczalstring () służy do wymiany tekstu pasującego do określonego wzoru. Zwraca kopię i zastępuje wszystkie pasujące struny.

Możemy zilustrować tę metodę za pomocą następującego kodu:

Packagemain
import (
„FMT”
„Regexp”
)
funcMain ()
Re: = Regexp.MustCompile („f ([a-z]+) t”)
fmt.Printf („%q \ n”, re.Zastępcalstring („owoce”, „jedzenie”))

Poprzedni kod powinien zastąpić pasujący ciąg na określoną wartość. Ponieważ cały ciąg pasuje do określonego wzoru, funkcja zastępuje wszystkie znaki.

Metoda split ()

Możemy podzielić ciąg za pomocą metody split () i określonego wzoru. Przykładowy kod jest taki jak pokazano:

Packagemain
import (
„FMT”
„Regexp”
)
funcMain ()
Re: = Regexp.Must Compil („U”)
fmt.Printf („%q \ n”, re.Split („owoce”, -1))
fmt.Printf („%q \ n”, re.Split („czwartek”, -2))
fmt.Printf („%q \ n”, re.Split („funkcja”, 2))

Poprzedni kod określa wyrażenie regularne w celu dopasowania jednego znaku. Następnie używamy metody podziału do podziału dostarczonego ciąg.

Powstałe wyjście jest jak pokazano:

$ Go Run Regex.Iść
[„fr” „it”]
[„th” „rsday”]
[„f” „nction”]

Wniosek

Ten samouczek ilustruje, jak zacząć od wyrażenia regularnego w programowaniu Go za pomocą pakietu RegexP. Ponadto omówiono kilka metod w celu ustalenia właściwej opcji dla Twoich potrzeb. Sprawdź inne artykuły z podpowiedzi Linux i dokumentację, aby dowiedzieć się więcej wskazówek.