The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"регулярные выражения в PERL"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"регулярные выражения в PERL"
Сообщение от matwey emailИскать по авторуВ закладки on 08-Фев-05, 15:37  (MSK)
Подскажите плиз как в регулярное выражение на PERL подставить переменную
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "регулярные выражения в PERL"
Сообщение от Skif emailИскать по авторуВ закладки(??) on 08-Фев-05, 17:15  (MSK)
>Подскажите плиз как в регулярное выражение на PERL подставить переменную


руками, а что возможно как-то по другому?
Что за выражение, что требуется и т.д.
Ответ кому нужен?
Каков вопрос - таков ответ!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "регулярные выражения в PERL"
Сообщение от йцукенг Искать по авторуВ закладки on 08-Фев-05, 18:05  (MSK)
пример
while(<>){
$_=~/(\S*)\s/$1/;
print $1;
}


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "регулярные выражения в PERL"
Сообщение от Skif emailИскать по авторуВ закладки(??) on 08-Фев-05, 18:28  (MSK)
>пример
>while(<>){
>$_=~/(\S*)\s/$1/;
>print $1;
>}

Это типа регулярное выражение? ну ладно, и в чем проблема подставить сюда переменную?
например

open (FILE,"//home/USER/file.txt");
my $zamena="bla-bla-bla";
while($line=<FILE>) {
my $oldline=$line
$line=~/(\S*)\s/$zamena/gi;
print "$oldline\n$line\n$zamena"; #последовательно выведет тебе старую строку файла, потом полученную в результате использования s/// и переменную на которую проводилась замена нужных символов.
}
close(FILE);
Так в чем проблема?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "регулярные выражения в PERL"
Сообщение от Simps Искать по авторуВ закладки(ok) on 08-Фев-05, 18:50  (MSK)
>>пример
>>while(<>){
>>$_=~/(\S*)\s/$1/;
>>print $1;
>>}
>
>Это типа регулярное выражение? ну ладно, и в чем проблема подставить сюда
>переменную?
>например
>
>open (FILE,"//home/USER/file.txt");
>my $zamena="bla-bla-bla";
>while($line=<FILE>) {
>my $oldline=$line
>$line=~/(\S*)\s/$zamena/gi;
>print "$oldline\n$line\n$zamena"; #последовательно выведет тебе старую строку файла, потом полученную в результате
>использования s/// и переменную на которую проводилась замена нужных символов.
>}
>close(FILE);
>Так в чем проблема?


Если мне не изменяет память у меня не работало пока я не добавил модификатор x

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "регулярные выражения в PERL"
Сообщение от Skif emailИскать по авторуВ закладки(??) on 08-Фев-05, 18:53  (MSK)
>Если мне не изменяет память у меня не работало пока я не
>добавил модификатор x
Суть не в этом, модификаторы можно подставить по вкусу и взависимости от задачи. Я даже не вчитывался в регулярку. Посто не понимаю сути вопроса, почему нельзя поставить переменную? или человек имеет ввиду, что переменная замены должна меняться в зависимости от времени. тогда весь код в студию, цель, задачу и начнем разбор. А так из разряда сделайте мне чего-нить пожалуйста, а чего я сам не знаю. Но сделайте.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "регулярные выражения в PERL"
Сообщение от co6aka Искать по авторуВ закладки(ok) on 09-Фев-05, 16:57  (MSK)
Как заменить в текстновом файле все ip (172.16.0.1) на ip (10.10.10.1)?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "регулярные выражения в PERL"
Сообщение от ids emailИскать по авторуВ закладки(ok) on 09-Фев-05, 19:20  (MSK)
>Как заменить в текстновом файле все ip (172.16.0.1) на ip (10.10.10.1)?


это, как его, курить в сторону s/// $)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "регулярные выражения в PERL"
Сообщение от dawnshade emailИскать по авторуВ закладки on 09-Фев-05, 19:28  (MSK)
>>Как заменить в текстновом файле все ip (172.16.0.1) на ip (10.10.10.1)?
>
>
>это, как его, курить в сторону s/// $)


проще sed.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "регулярные выражения в PERL"
Сообщение от ids emailИскать по авторуВ закладки(ok) on 09-Фев-05, 19:37  (MSK)
>>>Как заменить в текстновом файле все ip (172.16.0.1) на ip (10.10.10.1)?
>>
>>
>>это, как его, курить в сторону s/// $)
>
>
>проще sed.

Вызывать sed скрипт из перлового, который вызывается из cgi, который рожает апач, который запущен initd-ом, который запустило ядро :)

зы. Вроде ничего не напутал :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "регулярные выражения в PERL"
Сообщение от dawnshade emailИскать по авторуВ закладки on 09-Фев-05, 19:58  (MSK)
>Вызывать sed скрипт из перлового, который вызывается из cgi, который рожает апач,
>который запущен initd-ом, который запустило ядро :)
>
>зы. Вроде ничего не напутал :)


Ээээ.. минуточку. В начальной постановке задачи не было сказано, что это ЦГИ. Как следствие все рассуждения беспочвенны :))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "регулярные выражения в PERL"
Сообщение от ids emailИскать по авторуВ закладки(ok) on 10-Фев-05, 10:36  (MSK)
>>Вызывать sed скрипт из перлового, который вызывается из cgi, который рожает апач,
>>который запущен initd-ом, который запустило ядро :)
>>
>>зы. Вроде ничего не напутал :)
>
>
>Ээээ.. минуточку. В начальной постановке задачи не было сказано, что это ЦГИ.
>Как следствие все рассуждения беспочвенны :))

Да, но я предположил как вероятную ветвь развития событий :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "регулярные выражения в PERL"
Сообщение от qwerty Искать по авторуВ закладки(??) on 09-Фев-05, 19:46  (MSK)
>Как заменить в текстновом файле все ip (172.16.0.1) на ip (10.10.10.1)?


открой файл в мс на редактирование и дай ему заменить (F4) :))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "регулярные выражения в PERL"
Сообщение от jonatan Искать по авторуВ закладки(??) on 10-Фев-05, 08:51  (MSK)
Создаем файл replace

---
#!/usr/bin/perl -i

while (<>) {
   s/172\.16\.0\.1/10\.10\.10\.1/;
   print $_;
}
---

Запускаем
replace textfile

Или так
perl -p -i -e 's/172\.16\.0\.1/10\.10\.10\.1/' text

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "регулярные выражения в PERL"
Сообщение от Skif emailИскать по авторуВ закладки(??) on 10-Фев-05, 12:56  (MSK)
Блин в самом веху точно такой вариант, только другие переменные, разобрали. Я вообще не понимаю, что это за флейм. Человеку лень почитать доку, ему лень конкретно описать задачу. Все лень. Блин, куда админы и программеры катятся...
Скоро так и в еникейщики перейти недолго...
ЗЫ: курить доки по perl-у изучать операторы while,foreach, m//,s/// в первую очередь, за ними модификаторы.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "регулярные выражения в PERL"
Сообщение от dawnshade emailИскать по авторуВ закладки on 10-Фев-05, 13:12  (MSK)
>Блин в самом веху точно такой вариант, только другие переменные, разобрали. Я
>вообще не понимаю, что это за флейм. Человеку лень почитать доку,
>ему лень конкретно описать задачу. Все лень. Блин, куда админы и
>программеры катятся...
>Скоро так и в еникейщики перейти недолго...
>ЗЫ: курить доки по perl-у изучать операторы while,foreach, m//,s/// в первую очередь,
>за ними модификаторы.

Эт точно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "регулярные выражения в PERL"
Сообщение от co6aka Искать по авторуВ закладки(ok) on 16-Фев-05, 19:13  (MSK)
пример выше означает что необходима дополнительная обработка переменных для экранирования спецсимволов(две переменные) и это простой примерчик с ip(.) а если посложнее фразочка...  Имхо должен быть подход для точного совпадения после одной инреполяции переменной($ip -> 10.10.10.1) а далее как есть.

PS: Просто по уму(когда не известна сторка поиска(она может быть любой)) надо тогда писать функции обработки значения переменных для экранирования всех модификаторов и их комбинаций...

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру