Я пытаюсь проверить дату, которая исходит из листа Excel, формат должен быть в формате дд/мм/гггг, я пробовал с шаблоном регулярного выражения [0-9]{2}/[0-9]{2}/[0- 9]{4}, но это не будет работать с датой, состоящей из одной цифры, и поскольку мы не можем добавить 0 в начале листа Excel, этот шаблон не работает. (это для инструмента blueprism, у которого есть действие для сопоставления регулярных выражений)
Проверка даты RPA(blueprism)
Ответы (3)
Чтобы обеспечить требуемую устойчивость, вам придется принять 1 или 2 цифры как для dd
, так и для mm
:
[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}
Поскольку вы упоминаете, что работаете с BluePrism, вы уверены, что вам действительно нужно регулярное выражение для проверки дат? Поскольку BP имеет встроенную функцию для этого вызываемого объекта непосредственно внутри этапа Calc — проверьте следующий пример (вы можете увидеть выражение выбранного этапа Calc в верхней панели выражений).
Для проверки дат используется функция IsDate([Some date as string])
, результат сохраняется в элементе данных Flag.
После проверки вы можете использовать этот элемент данных «Пометить» в блоке «Решение» и делать все, что считаете нужным, если дата не является фактической датой.
Примечание. Конечно, если вы работаете со списками/таблицами данных на этапе кода, а не перебираете коллекцию в макете процесса, вам нужно что-то еще, но это все равно может быть полезно.
На этапе кода я бы, вероятно, просто использовал метод DateTime.Parse(String)
, который может автоматически преобразовывать дату в форме строки в экземпляр объекта DateTime
; пример:
' DateTime.Parse throws an Exception if parsing failed.
Dim valid As Boolean = False
Try
Dim d = DateTime.Parse(First_Date)
valid = True
Catch e As Exception
valid = False
End Try
Дополнительные сведения об анализе дат с помощью DateTime.Parse см. в MSDN: https://msdn.microsoft.com/en-us/library/1k1skd40(v=vs.110).aspx
Здесь также есть хороший пост об анализе дат: https://stackoverflow.com/a/18465222/7439802сильный>
В синей призме вы можете использовать
FormatDate(Now(), FormatOfDate)
Для сравнения двух дат сначала преобразуйте («FormatDate») в один и тот же формат, а затем вы можете сравнить.
Для параметра «FormatDate» вы можете обратиться к справке Blue prism и выполнить поиск dateadd --> выберите «Расчет и решение».
{2}
означает длину 2. Вы можете использовать{1,2}
, чтобы указать длину 1 или 2. - person ryantxr   schedule 28.05.2018