У меня есть автоматический тест с использованием Robot Framework, который считывает файл в переменную.Я анализирую эту переменную для различных форматов даты и пытаюсь заменить дату на текущую дату с помощью регулярного выражения.
Я борюсь с тем, чтобы заставить регулярное выражение работать в Robot Framework (я написалрегулярное выражение в различных веб-сайтах, таких как pythex и regex101, которое, кажется, работает с Python для того, что мне нужно).
${date}= get current date
${datetime}= convert date ${date} datetime
${MonthList}= create list January February March April May June July August September October November December
${monthName}= get from list ${MonthList} ${datetime.month-1}
${ExpectedFileAsString}= set test variable January 23, 2009 May 1, 2020 05/21/1990 05/1/1990 5/21/1990 5/2/1990
${ExpectedFileAsString}= replace string using regexp ${ExpectedFileAsString} ([A-Z][a-z]+\s\d+,\s\d\d\d\d) ${monthName} ${datetime.day}, ${datetime.year}
${match1}= get regexp matches ${ExpectedFileAsString} [A-Z][a-z]+\s\d+,\s\d\d\d\d
log matches 1: ${match1} console=yes
${match2}= get regexp matches ${ExpectedFileAsString} [A-Z][a-z]{2,8}\s\d{1,2},\s\d{4}
log matches 2: ${match2} console=yes
${ExpectedFileAsString}= replace string using regexp ${ExpectedFileAsString} ([A-Z][a-z]{2,8}\s\d{1,2},\s\d{4}) ${monthName} ${datetime.day}, ${datetime.year}
${ExpectedFileAsString}= replace string using regexp ${ExpectedFileAsString} (?<![/\d])\d{1,2}/\d{1,2}/\d{4}(?![/\d]) ${datetime.month}/${datetime.day}/${datetime.year}
Когда я использую регулярное выражение, которое я приводил в моих примерах, против предоставленной строки на 2 сайтах регулярного выражения,они, кажется, делают все, что мне нужно.Когда я запускаю их с помощью Robot Framework, они не получают хитов.Должно быть, я что-то упустил?