Сабж существует, или я напрасно обиваю Гугл?
Мне нужен язык шаблонов, на котором можно было бы выразить s1s2s1, где sn — произвольный символ.
Сегодня на кладбище эксгумировал труп Рефала, но чую, не умеет он уникод. :(
Цитата: myst от декабря 6, 2010, 12:59
Мне нужен язык шаблонов, на котором можно было бы выразить s1s2s1, где sn — произвольный символ.
В регехе тоже можно, чего ж нет.
Цитата: RawonaM от декабря 6, 2010, 14:20
В регехе тоже можно, чего ж нет.
И как выглядит регексп всех трёхбуквенных сочетаний с одинаковыми первой и последней буквами, например? :eat:
Цитата: myst от декабря 6, 2010, 14:22
ЦитироватьВ регехе тоже можно, чего ж нет.
И как выглядит регексп всех трёхбуквенных сочетаний с одинаковыми первой и последней буквами, например? :eat:
(.).\1
% echo ололо | sed -n '/(.).\1/p'
sed: -e expression #1, char 8: Invalid back reference
(http://kolobok.us/smiles/personal/beach.gif)
Цитировать$ echo ололо | sed -rn '/(.).\1/p'
ололо
$ echo ололо | sed -n '/\(.\).\1/p'
ололо
:eat:
Второе не POSIX.
Хотя замена регулярным выражениям не помешала бы... Уж больно они неудобочитаемые.
:wall: Задолбали <пип> эти диалекты <пи-и-и...>!
А в gawk'е всё равно не работает. :(
Больше всего бесит зоопарк регэкспов.
Походу awk не поддерживает ссылок назад. Хорошо, что я его не учил. ;D
Цитата: http://www.eggheadcafe.com/software/aspnet/35699703/awk-regex-storing-a-match.aspx
AFAIK you cannot in awk. Backreferences are not supported. GNU awk supports
backreferences for substitutions using the gensub() function, but you cannot
pull them out like you do with perl, although you can put together hacks
like (not the same as your example)
$ echo ca12cat | gawk '{s=gensub(/(..)(..).*/,"\\2","g"); print s}'
12
but in any case using backreferences during the match itself is not
supported AFAICT.
Может, поможет?
Цитата: Demetrius от декабря 6, 2010, 14:54
Походу awk не поддерживает ссылок назад. Хорошо, что я его не учил.
Но другого такого удобного фильтра нет. Пичаль. :'(
Весь этот чёртов unix-way — куча грёбаных недоделанных полусовместимых костылей! >(
Дооооо, конечно, гораздо удобнее Windows-way: писать макросы на вижуалбейсике. Кстати, редактор макросов уникод поддерживает?
А што такое Windows-way и при чём здесь Visual Basic? :???
Ну, как бы, если не нравится юникс-вей, Windows — это первое, что приходит в голову.
И што же в нём за way? :)
А юникс-вей в нонешнем виде не может нравиться, у него то лапу ломит, то хвост отваливается. :(
Цитата: myst от декабря 6, 2010, 14:57
Весь этот чёртов unix-way — куча грёбаных недоделанных полусовместимых костылей! >(
Зато бесплатно. :yes:
Цитата: RawonaM от декабря 6, 2010, 16:34
Зато бесплатно. :yes:
Намекаешь на существование платной замены? :)