Метод regexp.Regexp.Find
Метод Regexp.Find выполняет поиск первого совпадения
с регулярным выражением в байтовом срезе.
В качестве параметра метод принимает байтовый срез
([]byte), в котором производится поиск.
Метод возвращает срез байт ([]byte),
соответствующий первому найденному совпадению,
или nil, если совпадение не найдено.
Если регулярное выражение содержит группы захвата, то метод возвращает только текст всего совпадения, без отдельных подсовпадений.
Синтаксис
re.Find(b []byte) []byte
Пример
Давайте найдем первое совпадение с регулярным выражением
`\d+` (одна или более цифр)
в строке "12345abcde67890":
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`\d+`)
b := []byte("12345abcde67890")
res := re.Find(b)
fmt.Println(string(res))
}
Результат выполнения кода:
"12345"
Пример
Давайте найдем первое совпадение с регулярным выражением
`[a-z]+` (одна или более букв в нижнем регистре)
в строке "12345abcde67890":
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`[a-z]+`)
b := []byte("12345abcde67890")
res := re.Find(b)
fmt.Println(string(res))
}
Результат выполнения кода:
"abcde"
Пример
Если совпадение не найдено, метод возвращает nil.
Давайте попробуем найти буквы в строке, состоящей
только из цифр:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`[a-z]+`)
b := []byte("1234567890")
res := re.Find(b)
fmt.Println(res == nil)
}
Результат выполнения кода:
"true"
Пример
Давайте найдем первое совпадение с регулярным выражением
`\w+` (любые буквенно-цифровые символы и знак
подчеркивания) в строке со специальными символами:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`\w+`)
b := []byte("hello!world@123")
res := re.Find(b)
fmt.Println(string(res))
}
Результат выполнения кода:
"hello"
Смотрите также
-
метод
Regexp.FindAll,
который находит все неперекрывающиеся совпадения -
метод
Regexp.FindString,
который ищет первое совпадение в строке -
метод
Regexp.FindIndex,
который возвращает индексы первого совпадения -
метод
Regexp.FindAllString,
который находит все совпадения в строке