|
Regex. Нужно поделить строку на 2 части, и сделать Replace по 2м разным правилам
|
|||
---|---|---|---|
#18+
Привет. Изначально мне нужно проверять строки, на соответствие формату даты. Формат даты должен быть таким "yyyy-mm-yy HH:MM:ss". С этим проблем нет. Все ок. Вот регэксп string pattern = @"^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])( \d{1,2}[:-](\d{2}))$"; (взял и немного допилил отсюда: http://gskinner.com/RegExr/?31p85) Как вы видите из формулы, разделители могут быть разные Код: c# 1. 2.
Вопрос у меня такой. Мне нужно чтобы регэксп вернул строку строго формата "2001-02-01 10:10". Чтобы я мог спокойно вызвать Код: c# 1.
мне нужно в первой половине формулы все разделители заменить на "-", а во второй половине на ":". Подскажите пожалуйста как это можно сделать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2013, 21:30 |
|
Regex. Нужно поделить строку на 2 части, и сделать Replace по 2м разным правилам
|
|||
---|---|---|---|
#18+
Пока сделал так Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Т.е. создал группы в паттерне, и явно выдернул их из матча. Работает. Но может есть решение по элегантней ? Наверняка можно заставить регэксп все это сделать, и мне бы хотело узнать как - может пригодится еще. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2013, 22:27 |
|
Regex. Нужно поделить строку на 2 части, и сделать Replace по 2м разным правилам
|
|||
---|---|---|---|
#18+
Есть идеи ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2013, 13:21 |
|
Regex. Нужно поделить строку на 2 части, и сделать Replace по 2м разным правилам
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2013, 16:24 |
|
Regex. Нужно поделить строку на 2 части, и сделать Replace по 2м разным правилам
|
|||
---|---|---|---|
#18+
ещё вариант, совсем короткий: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2013, 16:52 |
|
Regex. Нужно поделить строку на 2 части, и сделать Replace по 2м разным правилам
|
|||
---|---|---|---|
#18+
Яростный Меч, Хм.. Да... Блин прикольно. У вас очень простой паттерн вышел. Я использовал навороченный, учитывающий, что месяцев не может быть больше 12, а чисел 31, и что лидирующий ноль в начале числа не обязателен но может и присутствовать. Но в целом, вы пожалуй больше правы. В паттерне и не нужна эта проверка. Ибо потом строка будет конвертиться в датувремя, и там уже и будет проверка на корректность. А на данном этапе важно лишь привести строку к нужному формату. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2013, 17:12 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1404185]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 141ms |
0 / 0 |