Я использую функцию regexp.matchString(), чтобы соответствовать шаблону регулярного выражения для моей строки. Я должен использовать границу слова, чтобы найти точное соответствие. Например, я хочу совместить «вычислять», но не «компьютер». Проблема в том, что моя строка будет иметь как «вычислить», так и «компьютер». Поэтому я хочу использовать границу слова. Я пробовал использовать \ b в нескольких онлайн-тестерах, и это сработало. Тем не менее, \ b, похоже, не работает для функции regexp.matchString(). Кто-нибудь знает, есть ли альтернатива \ b? или как я могу получить ожидаемый результат? Мой кодКак использовать ограничение слов ( b) с regexp.MatchString() в go
package main
import "fmt"
import "regexp"
func main() {
fmt.Println("Hello, playground")
brandName := "home;compute furniture;computer"
filterVal := "(?i)compute\b"
regexMatch, _ := regexp.MatchString(filterVal, brandName)
fmt.Println(regexMatch)
}
Эта функция возвращает мне ложь, когда я использую \ б. Пожалуйста, помогите
Я еще не играл с регулярным выражением в Go, но общая проблема заключается в том, что '' '' '' '' используется как escape-символ как для строк, так и для механизма регулярных выражений. Вероятно, он сожрается струной, поэтому механизм регулярных выражений никогда не видит этого. Попробуйте двойное экранирование? –
Спасибо, Адам Смит. решение от Anar-G отлично работало – pritesh