黄瓜正则表达式步骤定义

Cucumber regex step definition

谁能解释一下

有什么区别
@When("some text (.*)")

@When("^some text ([^\"]*)$")

?

前者在使用简单步骤时有效,但在使用数据时 table 它仅映射到第一个 table 项。

下面是几个常见正则表达式的解释:

.* 匹配任何内容(或不匹配任何内容),字面意思是“任何字符(换行符除外)0 次或更多次”

.+ 至少匹配任何一项

[0-9] 或 d 匹配一系列数字(或什么都不匹配)

[0-9]+d+ 匹配一个或多个数字

"[^"]*" 匹配双引号中的内容(或不匹配)

an? 匹配 a 或 an(问号使 n 可选)

因此,根据您的问题,差异是:

.* 将采用除新行之外的所有内容, ([^\"]*) 这也将占用所有新行