@12rbah

Отличия регулярных выражений в go и в grep?

В общем такая проблема, что grep нормально выбирает выражения из файла команда выглядит так grep '^//' rtf.php, в go пишу такой код, но так ничего не находит.
b,_ := ioutil.ReadFile("rtf.php")
	r,_ := regexp.Compile(`^//`)

У меня есть предположение, что go не считает что символ после \n начинается с новой строки поэтому ничего не выдает по такой регулярке. Правильно ли я понимаю, что для реализации такого поиска нужно будет сделать функцию в которой построчно будет считываться текст и потом прогонять его через регулярку (предполагаю что в grep сделано примерно так)?
  • Вопрос задан
  • 144 просмотра
Решения вопроса 2
@dodo512
Просто добавить модификатор (?m)
`(?m)^//`
Ответ написан
Комментировать
Lynn
@Lynn
nginx, js, css
https://golang.org/pkg/regexp/syntax/

Нужно просто включить флаг multi-line:
r, _ := regexp.Compile("(?m)^//")

https://play.golang.org/p/a-KQKWcAbQc
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы