Мне нужен совет от опытных сусликов.Golang regexp с нелатинскими символами
Я разбираю слова из некоторых предложений, а мой \w+
regexp отлично работает с латинскими буквами. Однако он полностью терпит неудачу с некоторыми кириллическими персонажами.
Вот пример приложения:
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))
}
Это дает следующие результаты:
[One two three]
[]
[Jedna dva t i ty i p t]
возвращает пустые значения для русского языка, а также дополнительные слоги для Чехии. Я понятия не имею, как решить эту проблему. Может ли кто-нибудь дать мне совет?
Или, может быть, есть лучший способ разделить предложение на слова без пунктуации?
попробовать 'regexp.MustCompile (" \\ p {L} + ")' –