Найти, если в строке есть обратный слеш
У меня есть такая строка:
id=PS\\ Old\\ Gen
и я хотел бы построить регулярное выражение, чтобы выяснить, содержит ли оно обратную косую черту; один за другим. Так что в этом случае регулярное выражение должно найти 2 вхождения, так как есть 2 \\
,
Я попытался создать запрос, но не смог понять, как правильно.
Мне нужно регулярное выражение, которое совместимо с Go.
2 ответа
Вы можете использовать strings.Count (myString, \
)
с буквальным примером:
package main
import (
"fmt"
"strings"
)
func main() {
myString := `id=PS\\Old\\Gen`
a := `\`
i := strings.Count(myString, a)
fmt.Println(i)
}
результат = 4
без буквального
package main
import (
"fmt"
"strings"
)
func main() {
myString := "id=PS\\Old\\Gen"
a := `\`
i := strings.Count(myString, a)
fmt.Println(i)
}
Результат =2
если вам просто нужно содержать использование
myString := "id=PS\\ Old\\ Gen"
a:=`\`
i := strings.Contains(myString, a)
fmt.Println(i)
Результат = истина
Похоже, вам не нужно знать положение или происшествие \\
поэтому в этом случае я бы предложил пойти как можно проще:
import "strings"
...
fmt.Println(strings.Contains("id=PS\\ Old\\ Gen", "\\")) // true
Таким образом, вы можете просто хранить "\\"
в вашем конфиге.