当括号位于两行时,是否可以在括号之间获取内容? 类似的东西:
aaaa = ("bbb",
"ccc")
并输出:
"bbb","ccc"
这可能吗?
答案 0 :(得分:2)
你想要的是一个多线正则表达式。它的工作方式与正常的正则表达式类似,但/m
标记新行将与.
匹配。
string = %Q'aaaa = ("bbb",\n\n"ccc")'
string =~ /\((.*)\)/m
puts $1.gsub(/\s/,'') # prints "bbb","ccc"
我在这里使用gsub
删除空格,但这是可选的。
答案 1 :(得分:0)
str = 'aaaa = ("bbb",
"ccc")'
results = []
str.scan(/" .* "/x) do |quoted_str|
results << quoted_str
end
puts results.join(',')
--output:--
"bbb","ccc"