Utilizzare le espressioni regolari in Go

Il linguaggio Go fornisce un pacchetto integrato, regexp, per lavorare con le espressioni regolari. Questo pacchetto consente di cercare, confrontare, sostituire e analizzare stringhe usando pattern espressi secondo la sintassi delle espressioni regolari.

Importare il pacchetto

import (
    "fmt"
    "regexp"
)

Compilare un'espressione regolare

Per usare un'espressione regolare, occorre prima compilarla usando regexp.Compile o regexp.MustCompile. Il secondo panica in caso di errore, ed è utile se si è sicuri della validità del pattern.

re := regexp.MustCompile(`\d+`)

Trovare corrispondenze

Una volta compilata, si possono cercare corrispondenze nella stringa:

input := "Ci sono 15 gatti e 3 cani"
match := re.FindString(input)
fmt.Println(match) // Stampa "15"

Ottenere tutte le corrispondenze

Per trovare tutte le sottostringhe che corrispondono al pattern:

allMatches := re.FindAllString(input, -1)
fmt.Println(allMatches) // ["15" "3"]

Sostituire corrispondenze

Si può usare ReplaceAllString per sostituire le corrispondenze con un'altra stringa:

replaced := re.ReplaceAllString(input, "#")
fmt.Println(replaced) // "Ci sono # gatti e # cani"

Usare gruppi di cattura

Le espressioni regolari possono anche catturare gruppi:

re := regexp.MustCompile(`(\d+)\s+(\w+)`)
submatches := re.FindStringSubmatch("10 gatti")
fmt.Println(submatches) // ["10 gatti" "10" "gatti"]

Conclusione

Le espressioni regolari in Go sono uno strumento potente per la manipolazione e l'analisi di stringhe. Il pacchetto regexp è ben integrato e fornisce tutte le funzionalità essenziali per lavorare con i pattern.

Torna su