![]() |
|
Модераторы: ginnie |
![]()
|
|
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
1) не нравится, как работает оператор s/.../.../
например, выражение s/(а)(б)(в)/$1 $2 $3/ - раставляет пробелы между абв. Но если (б) в строке нет, то, соответственно, на месте $2 находится символ "в". Как-то нелогично. Имно нужно, чтобы если (б) нет, то чтобы и $2 - не было. . А какие конструкции вам не нравятся, и что бы вы хотели добавить в регекспы? Это сообщение отредактировал(а) Suppir - 13.5.2009, 16:43 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: нет Всего: 40 |
странное пишете.
# perl -le '$a = "abc"; $a =~ s#(a)(b)©#$1 $2 $3#; print $a; $a = "ac"; $a =~ s#(a)(b)©#$1 $2 $3#; print $a' a b c ac # |
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
хм, точно. Наверное, что-то перепутал с примером (дома разберу, точно была проблема с обратныи ссылками)
. Второй вопрос все же интересует: А какие конструкции вам не нравятся, и что бы вы хотели добавить в регекспы? |
|||
|
||||
| Logo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: 5 Всего: 10 |
Лично мне пригодились бы подобные конструкции, чтобы довели до ума перегрузку, ну и не помешала бы конструкция, что бы искать числа/диапазоны чисел.
|
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 1 Всего: 31 |
ага, диапазоны чисел пожалуй круто будет.. я бы еще предложил возоможность вставки предикатов на perl в регулярки
... что бы например поиск числа < 515 выглядел так
Внимание: это невалидный код, всего лишь пожелание. |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: нет Всего: 40 |
\b(?:[0-4]\d\d|50\d|51[0-5]|\d?\d)\b, не оно?
|
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Модификатор нечеткого поиска? Например, строка ABCD,
регулярка /(?1:ABBD)/ - вроде "одна любая буква может не совпадать". |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: нет Всего: 40 |
(?:.BBD|A.BD|AB.D|ABB.) ?
|
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 1 Всего: 31 |
Оно. но оно вам самим нравится ? Хотя это классика.. Вообщем что бы вот таких конструкиций не писать я и хотел перловые предикаты. |
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
arto, ну а если "5 букв могут не совпадать"? Перебирать все варианты в регулярном выражении очень сложно (и длинно). Было бы удобней, если такая фича на уровне механизма присутствовала. Конечно, поиск с таким модификатором будет медленный. И еще будет несколько ответов разной релевантности.
. Еще вариант: /<я> <люблю> <Perl>/ Хочу чтобы для слова в угловых скобках работали любые синонимы, с любыми окончаниями. Представляете как будет удобно? |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: нет Всего: 40 |
/<make me happy>/ && exit;
|
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 1 Всего: 31 |
/make arto happy/ or die 'trying =)' ;
|
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: нет Всего: 27 |
А еще чтобы они кофе умели готовить ;) -------------------- Died at Life.pl line 21 |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
||||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Ну а что там сложного в синонимах?
допустим слово "кошка" можно представить в современном синтаксисе как $cat='ко(шка|т|тенок)'; m/$cat/; и т.п. Добавлено через 1 минуту и 42 секунды Только сделать обращение к библиотеке синонимов не через переменную, а на уровне синтаксиса. Библиотеку распространять модулем. Наверное, что-то подобное есть уже Добавлено через 3 минуты и 42 секунды <кошка> - синонимы <?!кошка> - антонимы <!кошка> - синонимы кроме самого слова "кошка" |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |