mva
28.03.2013 10:57 N900
а как авку сказать, что мне нужна минимально подходящая под регексп строка?
Если быть точнее, то есть у меня строка
> aaa bbb ccc abc aaa bbb ccc abc aaa bbb ccc ddd eee fff
Хочу из неё вытащить строку, начиная с первого вхождения abc и до ddd. Указываю:
> gensub(/.*(abc.*)ddd.*/,"\\1","")
Получаю пенис по всему лицу. Куда нажать?
Recommended by:
@rapture: Куда нажать, чтобы тоже получить пенис по всему лицу?
%echo aaa bbb ccc abc aaa bbb ccc abc aaa bbb ccc ddd eee fff | sed -e 's/.*\(abc.*ddd\).*/\1/'
abc aaa bbb ccc ddd
зачем авк.
1) ты бы хоть посмотрел, что выводит авк (чтобы не матчить ddd)
2) ты бы хоть почитал, что я хочу (от ПЕРВОГО вхождения abc, а не от последнего)
3) вхождений может быть рандомное количество, в т.ч. 0, на самом деле.
4) авк затем, что в /0 лишь test-usecase. А в оригинале у меня гигантский авкокостыль для формирования csv из html ;) # да, я знаю про существование библиотек (и стенделон) html-парсеров, но с нашими сайтостроителями они в ряде случаев бесполезны, ибо эти пидорасы [сайтостроители] размечают так, что хер сматчишь именно то, что нужно.
5) к слову, и авк и сед, оба в GNU'той версии не умеют в нежадный матчинг. БСДнутый сед, алсо, умеет.