gpt4 book ai didi

ruby - 如何创建多行正则表达式?

转载 作者:数据小太阳 更新时间:2023-10-29 08:39:12 24 4
gpt4 key购买 nike

我正在尝试匹配 block 中的所有文本:

group :development do
gem 'test'
end

在上面的上下文中,我想返回 "gem 'test'"。我正在使用的是:

/(?<=group :development do)(.*)(?=end)/m

为什么它不起作用?

最佳答案

我不确定为什么,但是将 .* 更改为 .*? 可以匹配。

红色:http://www.rubular.com/r/GaQj6cM0rk

它似乎也应该与 .* 匹配良好,但由于某种原因它似乎没有回溯。

这里是使用 .* 时的 Rubular:http://www.rubular.com/r/jKf0bDZi7T

请注意,无论此行为的原因是什么,您都应该使用 .*? ,否则您只会找到从第一个 block 的开头到最后一个 block 的结尾的单个匹配项 block (如果字符串中有多个 block )。

关于ruby - 如何创建多行正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com