Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Perl Regular Expressions

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Perl Regular Expressions
Имя
Сообщение << Старые топики   Новые топики >>
Perl Regular Expressions - 2004-07-07 00:31:46   
Preatorian

Сообщений: 48
Оценки: 0
Присоединился: 2004-04-16 00:41:45
Доброго времени суток всем!

Почему - не пойму?

$s=''abbbbb'';
$s=~ s/a.*b/c/;
При таком регулярном выражении ответ только "с" (без кавычек!)
Это понятно, так как s/// заменяет a.*b на c

$s=~ s/a.*?b/c/;
При таком рег выраж ответ cbbbb
Ведь по идее должно быть тоже самое т.к. см. выше

В чем и где я ошибся? или не допонял.

Заранее спасибо всем!!
Post #: 1
Perl Regular Expressions - 2004-07-07 01:07:05   
Mazdack

Сообщений: 58
Оценки: 0
Присоединился: 2004-03-26 18:02:46
хе, ну смотри:
~s/a.*?b/c означает, что надо заменить а и один след символ (любой) на с, а всю остальную часть строки оставить как есть. ну чтоб легче понять, поставь скобки:
~s/a(.*)?b/c - то, что в скобках соотв любому кол-ву любых символов, но потом ведб стоит ?, значит кол-во любых символов сокращается до 0 или 1.
Post #: 2
Perl Regular Expressions - 2004-07-08 00:00:38   
Preatorian

Сообщений: 48
Оценки: 0
Присоединился: 2004-04-16 00:41:45
Значит получается что может быть 2 совпадения
ab и abb?
Да собственно не важно наверно это,ведь в книге написано
s=~ s/text1/text2/
происходит замена text1 на text2,
почему здесь остались другие буквы кроме c ????[sm=em88.gif][sm=em88.gif][sm=em88.gif]


Пример взят из книги Лукайкого А.В. Атака из Internet
Post #: 3
Perl Regular Expressions - 2004-07-08 00:30:02   
Mazdack

Сообщений: 58
Оценки: 0
Присоединился: 2004-03-26 18:02:46
никаких 2 совпадений быть не может. все работает токо однозначно! :) перл - штука умная.. :) в том, что ты написал, происходит замена текст1 на текст2, но ОСТАЛЬНАЯ ЧАСТЬ СТРОКИ ОТСТАЕТСЯ БЕЗ ИЗМ.!
короче для изучения перла, эта книга явно не подходит, чтобы получить норм. знания, читай книжку O'REILLY "Изучаем Perl", авторы Рэндал Л.Шварц, Т. Феникс, в народе - "Лама-бук", или сразу уж "Программирование на Перл", того же издательства, но авторы Ларри Уолл(!) и др., в народе "Камел-бук"!
а коли не нужно учить перл, а просто хочешь чтоб что-то работало, пиши на mazdack@inbox.ru
Post #: 4
Perl Regular Expressions - 2004-07-08 01:03:31   
Preatorian

Сообщений: 48
Оценки: 0
Присоединился: 2004-04-16 00:41:45
quote:

—————-<BR>Цитата: Дата:08.07.2004 0:30:02, Автор:Mazdack ::
СТРОКИ ОТСТАЕТСЯ БЕЗ ИЗМ.!
—————-



Вот теперь понятно.
Что то я стормозил
[sm=9.gif]


СПАСИБО!!!
Post #: 5
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Perl Regular Expressions







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.