Почему регулярное выражение не работает должным образом - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть проверка имени, и пока я запускаю «Старт *», он не пройдет через код, пока я пропущу «Старт $», тогда он передаст строку.Ниже приведена программа: -

package main

import (
  "fmt"
  "regexp"
)

func main() {
  FirstName := "Star*"
  var validName = regexp.MustCompile("^[\\p{L}0-9-_&$.,’'\x60()!/ ]*$")
  if !validName.MatchString(FirstName) {
    fmt.Println("--------------", FirstName)
  } else {
    fmt.Println(FirstName)
  }
  FirstName2 := "Star$"
  if !validName.MatchString(FirstName2) {
    fmt.Println("--------------", FirstName2)
  } else {
    fmt.Println(FirstName2)
  }
}

ссылка на игровую площадку

1 Ответ

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

Удалить использование $ внутри ^[\\p{L}0-9-_&$.,’'\x60()!/ ]*$ так будет ^[\\p{L}0-9-_&.,’'\x60()!/ ]*$.

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