Почему регулярное выражение дает мне ошибку паники во время компиляции в golang? - PullRequest
0 голосов
/ 15 ноября 2018

Я создал программу для проверки имен пользователей, но regexp выдаст мне ошибку паники во время компиляции, почему это так, и как ее устранить ниже - это программа, которую я использую: -

package main

import (
  "fmt"
  "regexp"
)

func main() {
  var arr [5]string
  arr[0] = "O’max"
  arr[1] = "O’sdf"
  arr[2] = "dsf’max"
  arr[3] = "dsfrewwerx"
  arr[4] = "ewrwerwerwerwr’max"
  var validName = regexp.MustCompile("^[a-zA-ZÀ-ž\x7f-\xff\u00c0-\u017e0-9-_&$.,'`()!/ ]*$")
  for i := 0; i < len(arr); i++ {
    if !validName.MatchString(arr[i]) {
        fmt.Println(arr[i])
    }
  }
}

Ошибка

паника: регулярное выражение: скомпилировать ("^ [a-zA-ZÀ-ž \ u007f- \ xffÀ-ž0-9- & $., '()!/ ]*$"): error parsing regexp: invalid UTF-8: �À-ž0-9- & $., '()!/ ]*$

Любое тело скажите мне, как я сделаю регрекс для проверки имен пользователей ниже, это ссылка на игровую площадку

Детская площадка

1 Ответ

0 голосов
/ 15 ноября 2018

использование

^[\\p{L}0-9-_&$.,'\x60()!/ ]*$

Как ваше регулярное выражение, где "буквы", включая non ascii, являются классом \ p {L}, а обратный знак - \ x60

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...