простенькая регулярка

Статус
В этой теме нельзя размещать новые ответы.

zuxel

Новичок
простенькая регулярка

Написал простое регулярное выражение, которое должно разбирать дату вида ДД.ММ.ГГГГ на ДД ММ и ГГГГ: preg_match("/^([0-9]{2})\.([0-9]{2})\.([0-9]{4})&/", $date, $matches ); вот только массив на выходе остается пустым(( Подскажите, где ошибка, плз, я только учусь работать с PCRE :)
 

Beavis

Banned
preg_match("/^([0-9]{2})\.([0-9]{2})\.([0-9]{4})&/", $date, $matches );

и вообще, чем это лучше чем explode('.', $date) ?
 

Bitterman

Новичок
Который массив-то? $matches?
Попробуй & заменить на $. А {2} на {1,2}, {4} на {2,4}
 

zuxel

Новичок
а зачем ты "разбираешь" дату?
-----------
надо сделать из нее DATE для MySQL

Который массив-то? $matches?
----------
ага

Попробуй & заменить на $. А {2} на {1,2}, {4} на {2,4}
------------------------------------
не помогло не то, не другое((

и вообще, чем это лучше чем explode('.', $date) ?
------------
да понятно, что можно через explode - implode, но желательно через регулярку

-~{}~ 11.03.08 20:15:

Решилось тем, что вообще убрал ^ в начале и $ в конце строки
 

zuxel

Новичок
:В да просто я щас учу регулярные выражения, поэтому хотел сделать именно так, практика типа ))

а ваще вроде при несложных заменах, предпочтительнее использовать такие функции чем preg_xxxxx. например str_replace, а не preg_replace, быстрее оно выполняется вроде или менее ресурсоемкое.. точно не помню :В
 

Beavis

Banned
Автор оригинала: zuxel
Попробуй & заменить на $.
это значит что в начале или в конце строки с датой есть посторонние символы, потому как для строки вида '01.08.2008' эта регулярка бы работала
 

darksmoke

Новичок
Как сделать в регулярных выражениях пробел или два пробела?
 

HraKK

Мудак
Команда форума
darksmoke
ман молчит?

-~{}~ 03.04.08 00:20:

+ читай правила форума
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху