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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переменная внутри регулярки 
:(
    Опции темы
evya
Дата 22.2.2013, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть регулярныее выражение типа
^(?:FABRICA)(.*)
^(?:ZAWOD)(.*)
^(?:OFICE)(.*)

т.е. ее нужно привести к типу, где внутри регулярного меняется переменная.
^(?:$var)(.*)


но в регулярных выражениях знак $ это конец строки?
как поступить?

PM MAIL   Вверх
skyboy
Дата 22.2.2013, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



регулярное выражение компонуется как строка.
в Perl происходит замена переменных на значение внутри строки? тогда 
Цитата(evya @  22.2.2013,  11:59 Найти цитируемый пост)
^(?:$var)(.*)

или через конкатенацию строк.
PM MAIL   Вверх
Pfailed
Дата 22.2.2013, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 6
Всего: 39



evya, perl весьма умён в таких ситуациях. Если он видит, что существует переменная $var, то подставляет её значение, а не интерпретирует выражение, как конец строки и последовательность "var"


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


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(Pfailed @  22.2.2013,  14:37 Найти цитируемый пост)
evya, perl весьма умён в таких ситуациях

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


 




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


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

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