Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
Стоит задача, если в строке есть дата формата yyyy-mm-dd берём её, а также возможно ещо будет время hh:mm и возможно ещо секунды hh:mm:ss. сложность в том, что между ними может ити любой текст другой. я пробую - '/^(?P<start>.*)(?P<vdate>[\d][\d][\d][\d]-[\d][\d]-[\d][\d])(?P<middle>.*?)(?P<time>[\d][\d]:[\d][\d](?P<seconnds>:[\d][\d])?+)?+(?P<end>.*?)$/' но для строки "ff 2014-08-08 12:12:12" правильно находяться старт и дата, всё остальное попадает в енд. я по разному уже втупую перебираю модификаторы жадности... что-то не получаеться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 11:07 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, /\d{4}\D\d{2}\D\d{2}(\D\d{2}\D\d{2}(\D\d{2})?)?/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 11:22 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
r ualex564657498765453, /\d{4}\D\d{2}\D\d{2}(\D\d{2}\D\d{2}(\D\d{2})?)?/ типо мы описания не читаем, только тему? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 11:28 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453сложность в том, что между ними может ити любой текст другой. между чем текст? между минутами и секундами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 11:30 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
r ualex564657498765453сложность в том, что между ними может ити любой текст другой. между чем текст? между минутами и секундами? я же дал пример строки "ff 2014-08-08 12:12:12" где твоя регулярка не подойдёт могу ещо "я думаю начало 2014-10-10 наверно в 10:00:35 ждёмс" "встреча будет проходить 2014-10-10 во второй половине дня, ориентировочно на 10:00, уточним позже" "билеты на 2014-10-10, время не знаю!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 11:50 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
r ualex564657498765453сложность в том, что между ними может ити любой текст другой. между чем текст? между минутами и секундами? да и по моей регулярке видно где я ожидаю мусор :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 11:51 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, лови $re = '/(\d{4}-\d{2}-\d{2})(?:.+?(?=\d{2}:)(\d{2}:\d{2}(?:\:\d{2})?)?)?/'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 11:55 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453да и по моей регулярке видно где я ожидаю мусор :) твою я даже не смотрел. смысл? если она нерабочая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 11:56 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
r ualex564657498765453, лови $re = '/(\d{4}-\d{2}-\d{2})(?:.+?(?=\d{2}:)(\d{2}:\d{2}(?:\:\d{2})?)?)?/'; не совсем то, я просто именно всю строку хочу распарсить, дубли не приемлемы(двойное вхождение шаблона в строку, но интересная идея... если обяснишь ещо почему так, цены тебе не будет... моя первая регулярка '/(?P<s>.*?)(?P<D>\d{4}-\d{2}-\d{2})(?P<m>.+?(?=\d{2}:))(?P<T>\d{2}:\d{2}(?::\d{2})?)?(?P<e>.*)$/' 'ff 2014-08-15 jf 2014-12-12dkl 12:10 fsd f10:22:22sd' находит дату, и потом всё остальное попадает в конец(e=end) '/(?P<s>.*?)(?P<D>\d{4}-\d{2}-\d{2})(?P<m>.+?(?=\d{2}:))(?P<T>\d{2}:\d{2}(?::\d{2})?)?(?P<e>.*)$/' 'ff 2014-08-15 jf 2014-12-12dkl 12:10 fsd f10:22:22sd' тоже но с твоей идеей, с положительным предпросмотром, ищет как и ожидал, итого получаеться. (.+?)(<strong_patern>)?(.*) стронг патерн ничего не найдёт, ибо все попадёт в конец.тоесть получаеться движок регекспов видя что секция условная(?) тупо сразу её пропускает, и только если концовка не подойдёт будет возвращаться. а в варианте (.+?(?=<strong_patern>))(<strong_patern>)?(.*) первая секция захватит все до строгого шаблона(просто назвал - внашем случае время) и потом таже условная секция захватит время, и уже только концовка текста попадёт в последний. просто не совсем понимаю логику?!?!?!? притом что мой шаблон находит первое время.если '/(?P<s>.*?)(?P<D>\d{4}-\d{2}-\d{2})(?P<m>.+?(?=\d{2}:))(?P<T>\d{2}:\d{2}(?::\d{2})?)?(?P<e>.*)$/' // меняем на // // // '/(?P<s>.*?)(?P<D>\d{4}-\d{2}-\d{2})(?P<m>.+(?=\d{2}:))(?P<T>\d{2}:\d{2}(?::\d{2})?)?(?P<e>.*)$/' захватывает последнее время, но без секунд...опять же почему, ведь хоть секция и условная текущее место в шаблоне позволяет легко найти секунды, почему их не хахватывает. всё это меня наводит на мысль, что всётаки предпросмотр влияет на работу соседних частей регулярки. или хз тогда почему неодинаковое поведение с частью шаблона ()? - то оно его пропускает ,то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 12:37 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 12:41 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453не совсем то я проверил на приведенных тобой же вариантах: $str = ' WEf 2014-07-08 we fwef '; $str = ' WEf 2014-07-08 we fwef 11:12 dfgf'; $str = ' WEf 2014-07-08 we fwef 11:12:13 dfgf'; $str = "я думаю начало 2014-10-10 наверно в 10:00:35 ждёмс"; $str = "встреча будет проходить 2014-10-10 во второй половине дня, ориентировочно на 10:00, уточним позже"; $str = "билеты на 2014-10-09, время не знаю!"; везде срабатывает корректно - т.е. выделяет ДАТУ и ВРЕМЯ(без него/с чясами-минутами/еще с секундами) т.е. поставленная тобой задача - решена полностью. если тебе(ВНЕЗАПНО!) нужно чтото другое - дальше сам. принцип я показал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 12:47 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453я просто именно всю строку хочу распарсить, что это значит всю? вначале речь шла о ДАТЕ и ВРЕМЕНИ в строке. что еще там парсить надо? почему сразу не озвучил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 12:52 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
r ualex564657498765453я просто именно всю строку хочу распарсить, что это значит всю? вначале речь шла о ДАТЕ и ВРЕМЕНИ в строке. что еще там парсить надо? почему сразу не озвучил? эхх, опять же, читал бы мой вариант, в котором уточняеться что мне надо,- что б не описывать текстом то что можно сразу видеть в моём примере... не обвинял бы меня что у меня задача изменилась... если бы просто найти в строке дату и время, то можно было бы ваще проще поступить - через или ((?P<date>\d\d\d\d-\d\d-\d\d)|(?P<fulltime>\d\d:\d\d:\d\d)|(?P<time>\d\d:\d\d)) и вообще не морочиться... но в том то вся и делема, что надо всю...и походу вот я нашол при твоей подсказке, что регулярка вплане (fkjdslkfjsl)? по разному срабатывает, и хотелось бы понять почему. а то мало ли...может там ещо пять ситуаций, где получиться не то что я ожидаю, как сейчас. лан..как я и сказал, за идею спасибо... а обянишь разницу в поведении - ваще супер будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 13:30 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453эхх, опять же, читал бы мой вариант, в котором уточняеться что мне надо такие веще надо озвучивать явно, а не надеяться на экстрасенсорные способности обитателей форума. иногда такой бредокод приводят - что если разбираться с каждым - больше времени уйдет, чем на поиск самого решения. ты сам описал словами задачу. дата, время. про то что ОБЯЗАТЕЛЬНО нужно спарсить ДО и ПОСЛЕ них - умолчал почемуто. вывод только один: учись правильно составлять ТЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 14:00 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
r ualex564657498765453эхх, опять же, читал бы мой вариант, в котором уточняеться что мне надо такие веще надо озвучивать явно, а не надеяться на экстрасенсорные способности обитателей форума. иногда такой бредокод приводят - что если разбираться с каждым - больше времени уйдет, чем на поиск самого решения. ты сам описал словами задачу. дата, время. про то что ОБЯЗАТЕЛЬНО нужно спарсить ДО и ПОСЛЕ них - умолчал почемуто. вывод только один: учись правильно составлять ТЗ. если уже так придираться. то где в моём ТЗ указание, что надо найти масив дат и времён, а ведь твоя регулярка при наличии нескольких найдёт сразу несколько. ведь не написано нахождение дат и времён, написано найти дату и время(одно) но между ними может быть любой текст, втом числе и другая дата и время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 14:09 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
r u, влюбом случае подсказ верное направление, только я сразу . :) вот вроде работает. /^(.*)(\d\d\d\d-\d\d-\d\d)(?:.+?(?=\d\d:)(\d\d:\d\d(?:\:\d\d)?)?)?(.*)$/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 14:17 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, буду дальше усложняться:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 14:18 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453Стоит задача, если в строке есть дата вот эту дату и найдет. в чем проблема? почему ты не написал что дат может быть несколько? и что если их несколько - то искать только первую? или последнюю? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 14:18 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, в общем ладно. помогло и хорошо. далье сам уже сделаешь думаю без проблем. а то непонятно о чем мы уже спорим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 14:22 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
эх и помучился... интересно узнать мастера мнение, правильно или нет. а то вроде подходит под задачу, но я уже думаю что вроде норм находил трижды баг. итак задача ТЗ 1 Дан текст, в котором находиться указание на начальное время и возможно на конечное. 2 Общий формат строки с нашей точки зрения получаеться следуюющий (текст1)?(указание на начало)(текст2)?(указание на окончание)?(текст3)? 3 После работы регулярки, должны получить и указатели времени, и тексты 1,2,3 4 Указанием на время являеться - метка времени юникс - формат @\d+ - собака+цыфры - задание интервала относительно текущего времени - \d+\s*(month|day|minute|hour) цифры+пробельные_символы_возможно+слово_тип_интервала - явное(привычное) задание даты-времени строкой вида YYYY-MM-DD(текст разделитель)HH:MM:SS притом, что возможно без секунд, возможно без времени(только дата) ======= что у меня получилось, с учотом коректности чисел для задания месяца числа часов и минут и секунд. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 18:08 |
|
||
|
регулярное выражение, для нахождения даты и возможно времени возможно секундами в строке
|
|||
|---|---|---|---|
|
#18+
эх и помучился... интересно узнать мастера мнение, правильно или нет. а то вроде подходит под задачу, но я уже думаю что вроде норм находил трижды баг. итак задача ТЗ 1 Дан текст, в котором находиться указание на начальное время и возможно на конечное. 2 Общий формат строки с нашей точки зрения получаеться следуюющий (текст1)?(указание на начало)(текст2)?(указание на окончание)?(текст3)? знаком вопроса отмечены не обязательные группы 3 После работы регулярки, должны получить и указатели времени, и тексты 1,2,3 4 Указанием на время являеться - метка времени юникс - формат @\d+ - собака+цыфры - задание интервала относительно текущего времени - \d+\s*(month|day|minute|hour) цифры+пробельные_символы_возможно+слово_тип_интервала - явное(привычное) задание даты-времени строкой вида YYYY-MM-DD(текст разделитель)HH:MM:SS притом, что возможно без секунд, возможно без времени(только дата) ======= что у меня получилось, с учотом коректности чисел для задания месяца числа часов и минут и секунд. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2014, 18:09 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38722269&tid=1462511]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
79ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 437ms |

| 0 / 0 |
