|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 26 Jan 2004 15:49:28 To : Alexander P. Russkih Subject : Re: Регулярное выраже ние. -------------------------------------------------------------------------------- Alexander P. Russkih -> All @ Mon, 26 Jan 2004 11:26:55 +0300: >> символ \t необходимо использовать минимальный квантификатор к операции .*: >> /(.*?)\t(.*)/ APR> кстати говоря, можно и без этой конструкции попробовать обойтись. APR> Рассуждаем следующим образом: нам нужно в первой части выражения APR> захватить все символы с начала строки не являющиеся \t (создаем APR> символьн?й класс [^\t]), затем должен следовать символ \t, а после APR> него нам нужно захватить все, что осталось, даже если это пустая APR> строка. повле этих рассуждений получаем нечто следующее: APR> /(^[^\t])\t(.*$)/ если присмотреться, то это выражение по своей APR> сути эквивалентно: /(^.*?)\t(.*$)/ или /(.*?)\t(.*)/ Разница, на самом деле, есть - .* по умолчанию (без /s) не захватит конец строки. Если обработка построчная, разницы не будет, а если вдруг нет... -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.1 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/11477795435de.html, оценка из 5, голосов 10
|