Проблема: у вас есть длинная строка текста, и вам нужно извлечь из нее дату. Однако строка содержит несколько дат, поэтому для успеха должны быть выполнены определенные условия.
Строки с фрагментами даты в тексте выглядят следующим образом:
Лос-Анджелеса 19.12.2018 11:39 Она
как единое целое 18.01.2019 8:30 4 1.
Используя приведенное ниже регулярное выражение, я могу сопоставить две даты:
<cfset dates = reMatch("(\d+/\d+/\d+)([^\s]([ ]{1,}))((1[0-2]|0?[1-9]):([0-5][0-9]) ?([AaPp][Mm]))(?=([ ]{1,}))(?=[0-9])", text)>
Соответствующие даты:
19 декабря 2018 г., 11:39
18 января 2019 г., 8:30
Я пытаюсь сопоставить дату и время, за которыми следуют один или несколько пробелов и одна или несколько цифр (только второй экземпляр), что отбросит первый экземпляр и оставит меня в счастливом месте. До сих пор я пробовал следующий код, но он отбрасывал обе даты, поэтому с последними блоками регулярного выражения что-то не так:
<cfset dates = reMatch("(\d+/\d+/\d+)([^\s]([ ]{1,}))((1[0-2]|0?[1-9]):([0-5][0-9]) ?([AaPp][Mm]))(?=([ ]{1,}))(?=[0-9])", text)>
Любая помощь будет высоко оценен!