Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Замена регулярным выражениям

Автор myst, декабря 6, 2010, 12:59

0 Пользователи и 1 гость просматривают эту тему.

myst

Сабж существует, или я напрасно обиваю Гугл?
Мне нужен язык шаблонов, на котором можно было бы выразить s1s2s1, где sn — произвольный символ.
Сегодня на кладбище эксгумировал труп Рефала, но чую, не умеет он уникод. :(

RawonaM

Цитата: myst от декабря  6, 2010, 12:59
Мне нужен язык шаблонов, на котором можно было бы выразить s1s2s1, где sn — произвольный символ.
В регехе тоже можно, чего ж нет.

myst

Цитата: RawonaM от декабря  6, 2010, 14:20
В регехе тоже можно, чего ж нет.
И как выглядит регексп всех трёхбуквенных сочетаний с одинаковыми первой и последней буквами, например? :eat:

RawonaM

Цитата: myst от декабря  6, 2010, 14:22
ЦитироватьВ регехе тоже можно, чего ж нет.
И как выглядит регексп всех трёхбуквенных сочетаний с одинаковыми первой и последней буквами, например? :eat:
(.).\1

myst


Demetrius

Цитировать$ echo ололо | sed -rn '/(.).\1/p'
ололо
$ echo ололо | sed -n '/\(.\).\1/p'
ололо
:eat:

Второе не POSIX.

Demetrius

Хотя замена регулярным выражениям не помешала бы... Уж больно они неудобочитаемые.

myst

:wall: Задолбали <пип> эти диалекты <пи-и-и...>!
А в gawk'е всё равно не работает. :(

myst


Demetrius

Походу 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.
Может, поможет?

myst

Цитата: Demetrius от декабря  6, 2010, 14:54
Походу awk не поддерживает ссылок назад. Хорошо, что я его не учил.
Но другого такого удобного фильтра нет. Пичаль. :'(

myst

Весь этот чёртов unix-way — куча грёбаных недоделанных полусовместимых костылей! >(

Demetrius

Дооооо, конечно, гораздо удобнее Windows-way: писать макросы на вижуалбейсике. Кстати, редактор макросов уникод поддерживает?

myst


Demetrius

Ну, как бы, если не нравится юникс-вей, Windows — это первое, что приходит в голову.

myst

И што же в нём за way? :)
А юникс-вей в нонешнем виде не может нравиться, у него то лапу ломит, то хвост отваливается. :(

RawonaM

Цитата: myst от декабря  6, 2010, 14:57
Весь этот чёртов unix-way — куча грёбаных недоделанных полусовместимых костылей! >(
Зато бесплатно. :yes:

myst


Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр