a='fdkfjsdflksdj lfkjdflksdjf["fdkljfdfl"]fkjdfldjkf["fdfdf"]dfdfsdfsdfsdfddfdfkdfj["fdfds"]fdfasdfds'
我需要获取""
内的值,这意味着输出应该是
fdkljfdfl
fdfdf
fdfds
我写了以下编码
puts a[/\["(.*)"\]/m]
但它返回
["fdkljfdfl"]fkjdfldjkf["fdfdf"]dfdfsdfsdfsdfddfdfkdfj["fdfds"]
你能帮助我在""
答案 0 :(得分:2)
puts a.scan(/\["(.*?)"\]/m)
^^
让你的正则表达式不贪婪。或者使用基于否定的正则表达式。
puts a.scan(/\["([^"]*)"\]/m)
答案 1 :(得分:1)
尝试:
a.scan(/"([^"]*)"/).flatten
#=> ["fdkljfdfl", "fdfdf", "fdfds"]
它将返回字符串数组