我的数据格式如下
name | height | hex assigned
[alphanumeric and spaces] | [numeric] cm| [hex]:[hex]
20 char | 5 char | 1 char: 1 char
我想要做的是,匹配正则表达式
${escaped}= Regexp Escape '[A-Za-z0-9_\s] | [0-9]+ cm| [0-9a-f]:[0-9a-f]'
Should Match Regexp ${text} ${escaped}
虽然文字是正确的,但测试仍然失败。
如果有人能够指出我做错了什么,我真的很感激。
答案 0 :(得分:2)
答案 1 :(得分:2)
如果你转义正则表达式,你实际上是将表达式转换为固定字符串。您还有一个问题,即您的模式以单引号开头和结尾。由于机器人将整个单元格视为表达式,因此只有实际开始和结束时,表达式才会匹配。
解决方案需要对您正在做的事情进行一些更改:
^
和$
)除非您想在字符串中的任何位置匹配模式\
在机器人文件中很特殊,因此要在模式中获得反斜杠,在定义模式时必须包含两个反斜杠我认为以下是您想要的:
*** Variables ***
${pattern} ^[A-Z0-9_\\s]{1,20} \\| [0-9]+ cm\\| [0-9A-Fa-f]:[0-9A-Fa-f]$
*** Test cases ***
Example
Should Match Regexp 12345678901234567890 | 1 cm| 3:5 ${pattern}