Экранировка спецсимволов в Go
Точка, звездочка, плюс и скобки в образце имеют особый смысл. Чтобы искать их как обычные знаки, перед символом ставят обратную косую черту.
В сырой строке в обратных кавычках одной косой достаточно, чтобы точка стала обычной точкой:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`a\.b`)
txt := "a.b aXb"
fmt.Println(re.FindAllString(txt, -1))
}
Дана строка:
txt := "1+1=2 1*1=1"
Напишите образец, который найдет знак + как текст.
Дана строка:
txt := "a(b)c"
Найдите подстроку "(b)" с экранированными скобками.
Дана строка:
txt := "x.y x*y"
Скажите, сколько совпадений даст образец x\.y.