2010-11-24 4 views
0

文字列の中から引用符で囲まれた部分文字列を抽出します。構文解析後の引用符付きの文字列を別の文字列で解析するにはどうすればよいですか?

string = 'aaaa' + string_var_x + 'bbbb' + string_var_y 

出力は次のようになります:

["'aaaa'", "'bbbb'"] 

初期解はほとんどOKですstring.scan /'\w'/にしたこれは一例です。

'...'の中には、数字([email protected]#$%^&*()何でも)を含めることができるので、より複雑な文字列を扱うことはできません。

アイデア?

/'.*'/を動作させるにはいくつかの方法がありますか?

+0

@ elusiveの回答になります。 '?'の後に '?'を使用していることに注目してください。それが貪欲でないようにする方法です。 –

答えて

5

レイジーは、この問題を解決する必要があります

/'[^']*'/ 
+0

偉大な答え、ありがとう! – gmile

0

それを行うための別の方法は次のとおりです:

>> %{string = 'aaaa' + string_var_x + 'bbbb' + string_var_y}.scan(/'[^'].+?'/) 
#=> ["'aaaa'", "'bbbb'"] 

String.scan

は多くのことを見落とします

/'.*?'/ 

別の可能性は、これを使用することです。

+0

あなたはどういう意味ですか? – gmile

+1

人々はそれが利用可能であることに気づいていない、それは私が意味するものです。別の意味ですか? –

関連する問題