我想做的是获取引号之间的所有文本。这两个似乎都可以正常工作(使用 ruby )。有人可以告诉我这两者的工作方式是否存在差异,或者它们是否只是同一事物的不同表达方式。
编辑: 我主要关注获取 cucumber 步骤定义的双引号之间的文本(然后我应该看到“Hello World”)。
最佳答案
在多个引号字符串的情况下,第一个可能不会为您提供相同的数据:如果输入数据是,比如说
"hello" "world"
第一个表达式将匹配整个字符串,而第二个表达式将仅匹配 "hello"
部分。
一般来说,第二个表达式应该更快,因为没有回溯。这是一个 link to an article discussing this issue at length .
关于ruby - 正则表达式 "(.*)"与 "([^"]*)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14898667/