Ho bisogno di un consiglio da esperti gopher.Golang regexp con caratteri non latini
Sto analizzando le parole da alcune frasi e il mio regexp \w+
funziona correttamente con caratteri latini. Tuttavia, fallisce totalmente con alcuni caratteri cirillici.
Ecco un'applicazione di esempio:
package main
import (
"fmt"
"regexp"
)
func get_words_from(text string) []string {
words := regexp.MustCompile("\\w+")
return words.FindAllString(text, -1)
}
func main() {
text := "One, two three!"
text2 := "Раз, два три!"
text3 := "Jedna, dva tři čtyři pět!"
fmt.Println(get_words_from(text))
fmt.Println(get_words_from(text2))
fmt.Println(get_words_from(text3))
}
produce i seguenti risultati:
[One two three]
[]
[Jedna dva t i ty i p t]
Esso restituisce valori vuoti per il russo, e sillabe in più per il ceco. Non ho idea di come risolvere questo problema. Qualcuno potrebbe darmi un consiglio?
O forse c'è un modo migliore per dividere una frase in parole senza segni di punteggiatura?
prova 'regexp.MustCompile (" \\ p {L} + ")' –