如何在另一个字符串中解析带引号的字符串?

gmi*_*ile 0 ruby regex string parsing

我想从字符串中提取引用的子串.这是一个例子:

string = 'aaaa' + string_var_x + 'bbbb' + string_var_y
Run Code Online (Sandbox Code Playgroud)

解析后的输出应为:

["'aaaa'", "'bbbb'"]
Run Code Online (Sandbox Code Playgroud)

最初的解决方案string.scan /'\w'/几乎没问题.

仍然我无法让它在更复杂的字符串上工作,因为它暗示里面'...'可以有任何类型的字符(包括数字,!@#$%^&*()等等).

有任何想法吗?

我想知道是否有某种方法可以让你的/'.*'/工作变得更加贪婪?

jwu*_*ler 5

懒惰应该解决这个问题:

/'.*?'/
Run Code Online (Sandbox Code Playgroud)

另一种可能性是使用这个:

/'[^']*'/
Run Code Online (Sandbox Code Playgroud)