The OpenNET Project / Index page

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

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

"Помогите с регулярным выражением!"
Сообщение от Леха Искать по авторуВ закладки on 21-Апр-04, 14:09  (MSK)
Считыаю из директории файлы; надо из их названий вытащить, за какое они число.
$file1 = sbb_ostdepdat_##_##.txt (# - цифра; соответственно сначала день, потом месяц. буквенная часть у всех одинаковая).
Пытаюсь теперь эти самые цифирки выловить и форматнуть в дату с помощью
$file1 = ~s?(\d{2})_(\d{2})?$1/$2?gi;
Получаю $file1 = 4294967295 (одинаковое для всех файлов)
Должно быть $file1 = "19/04"

Вместо "/" пытался вставлять точку "\." - аналогичный результат

А в чём фокус?

Заранее спасибо

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

 Оглавление

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

1. "Помогите с регулярным выражением!"
Сообщение от konst emailИскать по авторуВ закладки(??) on 21-Апр-04, 17:12  (MSK)
>Считыаю из директории файлы; надо из их названий вытащить, за какое они
>число.
>$file1 = sbb_ostdepdat_##_##.txt (# - цифра; соответственно сначала день, потом месяц. буквенная
>часть у всех одинаковая).
>Пытаюсь теперь эти самые цифирки выловить и форматнуть в дату с помощью
>
> $file1 = ~s?(\d{2})_(\d{2})?$1/$2?gi;
>Получаю $file1 = 4294967295 (одинаковое для всех файлов)
>Должно быть $file1 = "19/04"
>
>Вместо "/" пытался вставлять точку "\." - аналогичный результат
>
>А в чём фокус?
>
>Заранее спасибо
надо подробнее скрипт выкладывать...
$file1 = 'xxxx_15_04.txt';
$file1 =~ s/^.+(\d{2})_(\d{2})\.txt$/$1\/$2\/;
#$file1 = '15/04';

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

2. "Помогите с регулярным выражением!"
Сообщение от Леха Искать по авторуВ закладки on 21-Апр-04, 17:22  (MSK)
>надо подробнее скрипт выкладывать...
#!c:/perl/bin/perl

chdir('c:/WordRep/');
opendir(DIR, 'c:/WordRep/Deposits_Analiz');
@tmp = readdir(DIR);
foreach $fl (@tmp)
{
if ($fl=~/ostdepdat_\d/gi) #тут я особо не напрягаюсь, ибо других файлов почти нету...
{
@filez = (@filez, $fl);
}
}
>$file1 = 'xxxx_15_04.txt';
>$file1 =~ s/^.+(\d{2})_(\d{2})\.txt$/$1\/$2\/;
>#$file1 = '15/04';
У меня было - $file1 = ~s?(\d{2})_(\d{2})?$1/$2?gi; в чём разница? Я же забабахал g - так что можно не париться и вбивать всю строку... И не лишний ли у тебя "\"?
За ответ спасибо - только вот меня интересовало, что у меня нетак (типа на будущее)... В конце-концов просто substr два раза забабахнул =)))

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

3. "Помогите с регулярным выражением!"
Сообщение от konst emailИскать по авторуВ закладки(??) on 21-Апр-04, 19:33  (MSK)
>>надо подробнее скрипт выкладывать...
>#!c:/perl/bin/perl
>
>chdir('c:/WordRep/');
>opendir(DIR, 'c:/WordRep/Deposits_Analiz');
>@tmp = readdir(DIR);
>foreach $fl (@tmp)
> {
> if ($fl=~/ostdepdat_\d/gi) #тут я особо не напрягаюсь, ибо других файлов почти
>нету...
>  {
   unshift (@filez, $fl);
   $fl=~s/^.+(\d{2})_(\d{2})\.txt$/$1\/$2/;
   unshift (@file2,$fl);
>  }
> }
В массиве file2 будут \d\d/\d\d :)

>>$file1 = 'xxxx_15_04.txt';
>>$file1 =~ s/^.+(\d{2})_(\d{2})\.txt$/$1\/$2\/;
>>#$file1 = '15/04';
>У меня было - $file1 = ~s?(\d{2})_(\d{2})?$1/$2?gi; в чём разница? Я же
>забабахал g - так что можно не париться и вбивать всю
>строку...
1.'g' - здесь не нужен (это только для повторяющихся элементов)
'xxxx_15_04.txt' ==> s/(\d{2})_(\d{2})/$1\/$2/g ====> xxxx_15/04.txt

И не лишний ли у тебя "\"?
лишний. надо $1\/$2/;
ты не выдал где ты производишь замену...

>За ответ спасибо - только вот меня интересовало, что у меня нетак
>(типа на будущее)... В конце-концов просто substr два раза забабахнул =)))
>


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


Удалить

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




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

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