[Ruby] //g

Ilya Palagin tux at fioc.kz
Wed Oct 9 09:57:54 MSD 2002


Неужто в рубиновом regexp не сделали опцию g (глобальный поиск)?
В перловом regexp это часто используется для поиска n-го совпадения
или подсчета количества совпадений.

Например, мне нужно найти подстроку, находящуюся перед третьим
вхождением "var",
в perl я бы это сделал так:
$string = "var one 23 var two 4 who and var 17 ozzy where var 9";
$count = 0;
while($string =~ /var/g) {
	print $` . "\n" if ($count++ == 2);
}

Можно ли сделать то же самое средствами regexp в ruby, не раскладывая
строку на составляющие для подсчета кол-ва вохждений?

Спасибо.




More information about the Ruby mailing list