Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpRgGL 108 of 280 menu
◀ ▶

Ленивый квантификатор в Go

По умолчанию квантификаторы жадные: берут максимум символов. После звездочки или плюса можно поставить вопрос, и повтор станет ленивым, минимальным.

Сравним жадную и ленивую звездочку между якорями слов:

package main import ( "fmt" "regexp" ) func main() { greedy := regexp.MustCompile(`".*"`) lazy := regexp.MustCompile(`".*?"`) txt := `"a" "bc" "d"` fmt.Println(greedy.FindAllString(txt, -1)) fmt.Println(lazy.FindAllString(txt, -1)) }

Дана строка:

txt := "<b>x</b> <i>y</i>"

Напишите ленивый образец для текста между < и > без захвата лишнего.

Дана строка:

txt := "aaa aa a"

Скажите, чем отличается a+ от a+? на короткой строке.

Дана строка:

txt := "start middle end"

Возьмите ленивый фрагмент между словами "start" и "end".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить