Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> что делают эти конструкции в регепсах? 
:(
    Опции темы
zyxerr
Дата 24.11.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 17.7.2008

Репутация: нет
Всего: 2



(??{…}) 
в описании сказано что, выражение обозначает возврат переменной, использованной в РВ. Немного непонятно как это работает.
.
(?:…) 
насколько я понял, это операция на группе без захватывания (с пропуском) переменной $1,$2 и т.д.
.
(?...) 
вообще не нашел

PM MAIL   Вверх
amg
Дата 24.11.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: нет
Всего: 50



Цитата(zyxerr @  24.11.2008,  15:52 Найти цитируемый пост)
(?...) вообще не нашел
Это то просто. На месте многоточия могут стоять модификаторы регулярных выражений. Например
/(?i[a-z])[a-z]+/ 
слова из прописных букв, первая буква может быть заглавной

(?:…)  тут все правильно

(??{…})  в фигурных скобках код, который вычислит регулярку, и она будет подставлена в основное регулярное выражение, причем произойдет это в процессе выполнения основного регулярного выражения. См. Camel-book.
PM MAIL   Вверх
zyxerr
Дата 24.11.2008, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 17.7.2008

Репутация: нет
Всего: 2



"(??{…})  в фигурных скобках код, который вычислит регулярку, и она будет подставлена в основное регулярное выражение, причем произойдет это в процессе выполнения основного регулярного выражения. См. Camel-book. "
.
Понятно, т.е. (?{код}) - просто исполнение кода
а (??{...}) - это динамическое исполнение кода
.
попробую найти пример, чтобы понять как (??{...}) работает...

PM MAIL   Вверх
amg
Дата 24.11.2008, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: нет
Всего: 50



Цитата(zyxerr @  24.11.2008,  17:16 Найти цитируемый пост)
попробую найти пример, чтобы понять как (??{...}) работает...

 smile 
Код
$_ = '2+3=5';
print m/(.+)=(??{eval $1})/ ? 5 : 2;


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.