如何在ruby中的方括号内提取内容

Mru*_*kar 5 ruby regex

我试图提取方括号内的内容.到目前为止,我一直在使用它,这有效,但我想知道,而不是使用这个删除功能,如果我可以直接使用正则表达式中的东西.

a = "This is such a great day [cool awesome]" 
a[/\[.*?\]/].delete('[]') #=> "cool awesome"
Run Code Online (Sandbox Code Playgroud)

Ama*_*dan 8

几乎.

a = "This is such a great day [cool awesome]"
a[/\[(.*?)\]/, 1]
# => "cool awesome"
a[/(?<=\[).*?(?=\])/]
# => "cool awesome"
Run Code Online (Sandbox Code Playgroud)

第一个依赖于提取组而不是完全匹配; 第二个利用前瞻和后视来避免最终比赛中的分隔符.