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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с простейшим приведением формата времени :) 
:(
    Опции темы
sir_nuf_nuf
Дата 8.2.2010, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Logo @  7.2.2010,  16:28 Найти цитируемый пост)
PCRE
 - Perl Core Reg Expr
Про другие языки... спасибо за инфу. 
Видимо действительно есть у многих, но так что бы это можно было записать как часть regex - кажется только в perl.
или нет ?



--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
Ptr73
Дата 8.2.2010, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Действительно.
В JavaScript можно писать нечто вроде такого

Код

celsius=farenheit.replace("(\d+(\.\d*)?)F\b", function($0,$1,$2) {return((($1-32) * 5/9) + "C")})


http://msdn.microsoft.com/ru-ru/library/efy6s3e6.aspx

К сожалению в VB и VB.NET String.Replace по-другому реализован и Regex.Replace тоже - они не передают $i в функцию.

Сделал примерно так:
Код

timestr = "2 Иван Иванов 1ю  5 1972 12:47:02  +01:53 2 1:17(  4) 2:25(  8) 1:41(15) 1:02:18"
regex.Pattern = "(?:(\d{1,2}):)?(\d{1,2}):(\d{2})"
timestr = regex.Replace(timestr, "00$1:0$2:$3")
regex.Pattern = ".*?0{0,2}(\d{2}):0{0,1}(\d{2}):(\d{2})"
timeline = regex.Replace(timestr, "$1:$2:$3; ")

'timeline = "12:47:02; 00:01:53; 00:01:17; 00:02:25; 00:01:41; 01:02:18; "


Еще не совершенство, но уже близко к нему smile 
Всем спасибо smile 

Это сообщение отредактировал(а) Ptr73 - 8.2.2010, 11:45
PM MAIL   Вверх
Logo
Дата 8.2.2010, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не могу точно сказать. В PHP можно писать замену в одну строку.
Код

preg_replace('/[a-c]+/e', 'strtoupper($0)', $string); 

Хотя такой способ использует eval TEXT, и в плане производительности менее предпочтителен, чем с callback функцией.

Цитата

Perl Core Reg Expr

Perl Compatible Regular Expressions. Хотя они, конечно, не совсем Compatible. Вообще в Perl самый мощный механизм регэкспов. Есть много вещей, которые есть только в Perl.
PM MAIL   Вверх
Logo
Дата 9.2.2010, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ptr73
У .NET  - Методы Replace с MatchEvaluator.
http://msdn.microsoft.com/ru-ru/library/cft8645c.aspx
http://msdn.microsoft.com/ru-ru/library/sy...ex.replace.aspx

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


 




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


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

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