Ruby 如何匹配字符串中的所有组?

Ruby 如何匹配字符串中的所有组?,ruby,regex,Ruby,Regex,我想匹配dynamicCast(header.get_0('(00080020)),Q$String_$1): 我设法使它与这个正则表达式一起工作 dynamicCast\(header.get.*, Q\$(String_|int_)\$1\) 问题是,它匹配整个街区。什么是合适的正则表达式魔法咒语来获得我想要的四场比赛 我目前正在使用Ruby的正则表达式重写自动生成的JavaScript。然后,我将用 header.get_0('(0008,0020)') 一个问题是我必须匹配一些不同的

我想匹配
dynamicCast(header.get_0('(00080020)),Q$String_$1)

我设法使它与这个正则表达式一起工作

dynamicCast\(header.get.*, Q\$(String_|int_)\$1\)
问题是,它匹配整个街区。什么是合适的正则表达式魔法咒语来获得我想要的四场比赛

我目前正在使用Ruby的正则表达式重写自动生成的JavaScript。然后,我将用

header.get_0('(0008,0020)')
一个问题是我必须匹配一些不同的口味,在方法
get\u 0
中有许多不同的可能性。我可能需要匹配每一种可能性,那么,为什么要使用正则表达式呢

dynamicCast(header.get_0('(0028,' + element + ')'), Q$String_$1)

您可以使用以下选项进行匹配:

dynamicCast\(header\.get_0\('\([^)]+\)'\), Q\$(?:String_|int_)\$1\)

让我更接近了一步,但它确实帮助了我。。。请参阅我的编辑。@code-gijoe欢迎。。你所说的“我可能需要匹配每一种可能性”是什么意思?有什么可能的例子吗?正如语言所定义的,对“get_0”的方法调用接收并输入一个可以用多种形式表示的字符串,但它总是以get_0的形式(“此处的任何内容”)表示。但是如果我使用get_0(\.*),它会一直匹配到最后…您可以通过添加一个积极的lookback
(?)来收紧它?
dynamicCast\(header\.get_0\('\([^)]+\)'\), Q\$(?:String_|int_)\$1\)