我使用机器人框架进行自动化测试,将文件读入变量。我正在解析该变量的各种日期格式,并尝试使用正则表达式将日期替换为当前日期。
我正在努力解决的是让正则表达式在机器人框架中工作(我已经在各种网站(如 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}
当我使用示例中提供的正则表达式与两个正则表达式网站上提供的字符串进行比较时,它们似乎可以完成我需要的一切。当我使用机器人框架运行它们时,它们没有得到任何命中。我肯定错过了什么?