Regex 空手道核心:为什么在匹配数组元素的正则表达式时双反斜杠转义不起作用?

Regex 空手道核心:为什么在匹配数组元素的正则表达式时双反斜杠转义不起作用?,regex,karate,Regex,Karate,根据空手道文件: 请注意,正则表达式转义必须使用双反斜杠完成,例如:“#regex a\\\.dot”将与“a.dot”匹配 对于简单的字符串变量,将数字与\\d+匹配可以正常工作: * def foo = '123' * match foo == '#regex\\d+' 但它不适用于字符串数组: * def bar = ['123'] * match bar == '#[] #regex\\d+' 断言失败:路径:$[0],实际值:'123',预期值:'#regexd+',原因:rege

根据空手道文件:

请注意,正则表达式转义必须使用双反斜杠完成,例如:“
#regex a\\\.dot
”将与“a.dot”匹配

对于简单的字符串变量,将数字与
\\d+
匹配可以正常工作:

* def foo = '123'
* match foo == '#regex\\d+'
但它不适用于字符串数组:

* def bar = ['123']
* match bar == '#[] #regex\\d+'
断言失败:路径:$[0],实际值:'123',预期值:'#regexd+',原因:regex匹配失败

我遗漏了什么吗?

是一个bug:

现在,您可以将反斜杠加倍
“#[]#regex\\\\d+”


但这将在下一个版本中修复。

正则表达式转义必须在空手道中使用双反斜杠来完成。 相关链接:

示例代码:

* def bar = ['123']
* match bar == '#[] #regex\\\\d+'