title: Golang regexp with non-latin characters
body: <p>I am parsing words from some sentences and my <code>\w+</code> regexp works fine with Latin characters. However, it totally fails with some Cyrillic characters.</p>
  <p>Here is a sample app:</p>
  <pre><code>package main
  
  import (
      &quot;fmt&quot;
      &quot;regexp&quot;
  )
  
  func get_words_from(text string) []string {
      words := regexp.MustCompile(&quot;\\w+&quot;)
      return words.FindAllString(text, -1)
  }
  
  func main() {
      text := &quot;One, two three!&quot;
      text2 := &quot;Раз, два три!&quot;
      text3 := &quot;Jedna, dva tři čtyři pět!&quot;
      fmt.Println(get_words_from(text))
      fmt.Println(get_words_from(text2))
      fmt.Println(get_words_from(text3))
  }
  </code></pre>
  <p>It yields the following results:</p>
  <pre><code> [One two three]
   []
   [Jedna dva t i ty i p t]
  </code></pre>
  <p>It returns empty values for Russian, and extra syllables for Czech.
  I have no idea how to solve this issue. Could someone give me a piece of advice?</p>
  <p>Or maybe there is a better way to split a sentence into words without punctuation?</p>