我正在编写一个带有像这样的字符串的ruby方法
"foo = { :foo => 'bar', :baz => \"{'foo' : 'bar', 'bar' : 'biff' }\" :bar => 'baz' }, bar, baz = \"('foo,bar,baz')\", &block"
并返回一个如下数组:
["foo = { :foo => 'bar', :baz => \"{'foo' : 'bar', 'bar' : 'biff' }\" :bar => 'baz' }", "bar", "baz = \"('foo,bar,baz')\"", "&block"]
然而,到目前为止,我无法正确分割字符串,我的最大努力仍然打破内部哈希上的字符串,例如
"foo = { :foo => 'bar', :baz => \"{'foo' : 'bar', 'bar' : 'biff' }\" :bar => 'baz' }, bar, "baz = \"('foo,bar,baz')\", &block".scan(/(?:[^,(]|\([^)]*\))+/)
产生:
["foo = { :foo => 'bar'", " :baz => \"{'foo' : 'bar'", " 'bar' : 'biff' }\" :bar => 'baz' }", " bar", " baz = \"('foo,bar,baz')\"", " &block"]
我认为我使用的正则表达式很接近,但我不确定如何检查括号和大括号。目前,正则表达式只搜索括号。
这是我目前的正则表达式:
/(?:[^,(]|\([^)]*\))+/
非常感谢任何帮助。
答案 0 :(得分:0)
这不适合你?
string.split(',')