2014-07-09 62 views
0

當括號在兩條線上時,是否可以在圓括號之間獲取內容? 喜歡的東西:在兩條線上的括號之間獲取內容

aaaa = ("bbb", 

    "ccc") 

輸出:

"bbb","ccc" 

這可能嗎?

+0

在字符串中只有一組括號還是可以有多個賦值和多組圓括號?是否會有嵌入的括號?這對可能的答案有很大的影響。 –

+0

字符串中只有一組括號 – user3821851

+0

如果其中一個答案回答了問題,您可以接受答案。 – 030

回答

2

你想要的是一個多行的正則表達式。它像一個正常的正則表達式,但與/m標誌換行符將匹配.

string = %Q'aaaa = ("bbb",\n\n"ccc")' 

string =~ /\((.*)\)/m 

puts $1.gsub(/\s/,'') # prints "bbb","ccc" 

我在這裏使用gsub去掉空白,但這是可選的。

0
str = 'aaaa = ("bbb", 

    "ccc")' 

results = [] 

str.scan(/" .* "/x) do |quoted_str| 
    results << quoted_str 
end 


puts results.join(',') 

--output:-- 
"bbb","ccc"