Использование backreferences в Sed и Perl

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
shad8
проходил мимо
Сообщения: 1
Зарегистрирован: 2014-08-27 16:54:42

Использование backreferences в Sed и Perl

Непрочитанное сообщение shad8 » 2014-08-27 17:13:03

Доброго времени суток,

Подскажите пожалуйста почему происходит так:

Код: Выделить всё

$ echo "one two one" | sed -n '/\([a-z][a-z]*\) \1/p'
one two one
По-моему мнению, регулярное выражение в адресе sed должно совпадать лишь в том случае, если две одинаковых символьных последовательностей будут следовать одна за другой (one one two), но не так как это продемонстрированно в примере.

Такая же тенденция прослеживается и в Perl:

Код: Выделить всё

$ perl -e '$string = "one two one"; print "$string\n" if $string =~ /(\w+) \1/'
one two one
Где я не прав, куда смотреть и что почитать?

Спасибо Всем откликнувшимся.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: Использование backreferences в Sed и Perl

Непрочитанное сообщение Гость » 2014-08-28 0:11:35

Вопрос снят, все банально и просто.

Совпадение в строке осущесвляется по символьной последовательности 'one two one'

По факту проблема была вызвана невнимательностиью. Тему можно закрыть/удалить.