The OpenNET Project / Index page

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

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

"помогите с регулярным выражением на perl"  
Сообщение от kapitonz on 21-Мрт-08, 10:36 
Есть задача:
Имеется строчка из n количества (звездочек) *********. Необходимо на Perl, используя только одно (!!!) регулярное выражение, заменить все звездочки кроме первой на точку. Первую звездочку на точку могу поменять, а вот чтобы первую не трогать и заменить только последующие не получается. Помогите плиз.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "помогите с регулярным выражением на perl"  
Сообщение от idle (ok) on 21-Мрт-08, 11:10 
>Есть задача:
>Имеется строчка из n количества (звездочек) *********. Необходимо на Perl, используя только
>одно (!!!) регулярное выражение, заменить все звездочки кроме первой на точку.
>Первую звездочку на точку могу поменять, а вот чтобы первую не
>трогать и заменить только последующие не получается. Помогите плиз.

s/\*+/*./;

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "помогите с регулярным выражением на perl"  
Сообщение от kapitonz on 21-Мрт-08, 11:18 
>>Есть задача:
>>Имеется строчка из n количества (звездочек) *********. Необходимо на Perl, используя только
>>одно (!!!) регулярное выражение, заменить все звездочки кроме первой на точку.
>>Первую звездочку на точку могу поменять, а вот чтобы первую не
>>трогать и заменить только последующие не получается. Помогите плиз.
>
>s/\*+/*./;

Не работает, ошибка.

#echo "******" | perl -p -e 's/\*+/*./;'
*.

Пропали последующие символы.
Должны были получить:
*.....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "помогите с регулярным выражением на perl"  
Сообщение от Аноним (??) on 21-Мрт-08, 11:11 
>Есть задача:
>Имеется строчка из n количества (звездочек) *********. Необходимо на Perl, используя только
>одно (!!!) регулярное выражение, заменить все звездочки кроме первой на точку.
>Первую звездочку на точку могу поменять, а вот чтобы первую не
>трогать и заменить только последующие не получается. Помогите плиз.

$myline =~ s/*+/*\./;

menyayem vse ******** na *.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "помогите с регулярным выражением на perl"  
Сообщение от kapitonz on 21-Мрт-08, 11:15 
>>Есть задача:
>>Имеется строчка из n количества (звездочек) *********. Необходимо на Perl, используя только
>>одно (!!!) регулярное выражение, заменить все звездочки кроме первой на точку.
>>Первую звездочку на точку могу поменять, а вот чтобы первую не
>>трогать и заменить только последующие не получается. Помогите плиз.
>
>$myline =~ s/*+/*\./;
>
>menyayem vse ******** na *.

Не то однако:
#echo "******" | perl -p -e 's/\*+/*./;'
*.

Пропали последующие звездочки (*), которые должны были поменяться на (.)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "помогите с регулярным выражением на perl"  
Сообщение от idle (ok) on 21-Мрт-08, 11:31 
>[оверквотинг удален]
>>
>>$myline =~ s/*+/*\./;
>>
>>menyayem vse ******** na *.
>
>Не то однако:
>#echo "******" | perl -p -e 's/\*+/*./;'
>*.
>
>Пропали последующие звездочки (*), которые должны были поменяться на (.)

Тогда так.
echo "****" | perl -ane 's/(?<=\*)\*/./g;print'

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "помогите с регулярным выражением на perl"  
Сообщение от amkir on 21-Мрт-08, 12:02 
>Есть задача:
>Имеется строчка из n количества (звездочек) *********. Необходимо на Perl, используя только
>одно (!!!) регулярное выражение, заменить все звездочки кроме первой на точку.
>Первую звездочку на точку могу поменять, а вот чтобы первую не
>трогать и заменить только последующие не получается. Помогите плиз.

$a="********************";
$a=~s/(\*)(\*+)/$1 . "." x length($2)/e;
print $a;

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "помогите с регулярным выражением на perl"  
Сообщение от madskull (??) on 24-Мрт-08, 11:49 
>>Есть задача:
>>Имеется строчка из n количества (звездочек) *********. Необходимо на Perl, используя только
>>одно (!!!) регулярное выражение, заменить все звездочки кроме первой на точку.
>>Первую звездочку на точку могу поменять, а вот чтобы первую не
>>трогать и заменить только последующие не получается. Помогите плиз.
>
>$a="********************";
>$a=~s/(\*)(\*+)/$1 . "." x length($2)/e;
>print $a;

видимо нужен регексп, поэтому Вашу идею развиваем в:
echo '*********' |perl -ne 's/^*(\*+)/"*"."."x(length($1))/e;print'

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "помогите с регулярным выражением на perl"  
Сообщение от madskull (??) on 24-Мрт-08, 11:50 
>[оверквотинг удален]
>>>одно (!!!) регулярное выражение, заменить все звездочки кроме первой на точку.
>>>Первую звездочку на точку могу поменять, а вот чтобы первую не
>>>трогать и заменить только последующие не получается. Помогите плиз.
>>
>>$a="********************";
>>$a=~s/(\*)(\*+)/$1 . "." x length($2)/e;
>>print $a;
>
>видимо нужен регексп, поэтому Вашу идею развиваем в:
>echo '*********' |perl -ne 's/^*(\*+)/"*"."."x(length($1))/e;print'

Ну ступил, ну не проснулся... бывает :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "помогите с регулярным выражением на perl"  
Сообщение от from_mars on 31-Мрт-08, 06:17 
Зачем perl, когда есть pascal?
Вот как это красиво на паскале:

var
  s: string;
  i: integer;
begin
  s := '*********';
  for i:=1 to length(s) do
    if i <> 1 then s[i] = '.';
writeln(s);
end.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "помогите с регулярным выражением на perl"  
Сообщение от Arpo email(ok) on 31-Мрт-08, 08:35 
>[оверквотинг удален]
>
>var
>  s: string;
>  i: integer;
>begin
>  s := '*********';
>  for i:=1 to length(s) do
>    if i <> 1 then s[i] = '.';
> writeln(s);
>end.

И откуда интересно я на своей Соляре паскаль дастану??

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "помогите с регулярным выражением на perl"  
Сообщение от angra (ok) on 31-Мрт-08, 09:17 
Я вот не могу понять, это у вас такой тонкий юмор или просто в детстве уронили на голову исказив понимание красоты? Если последнее, то можете усовершенствовать свой пример, дабы он научился читать со стандартного ввода и обрабатывать строки где есть не только *. Потом сравните с уже предложенным:
perl -ane 's/(?<=\*)\*/./g;print'
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "помогите с регулярным выражением на perl"  
Сообщение от from_mars on 31-Мрт-08, 10:38 
>Я вот не могу понять, это у вас такой тонкий юмор или...

Да, просто пошутил :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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