我正在尝试提取方括号内的内容。 到目前为止,我一直在使用它,这有效,但我想知道而不是使用这个删除功能,如果我可以直接使用正则表达式中的东西。
a = "This is such a great day [cool awesome]"
a[/\[.*?\]/].delete('[]') #=> "cool awesome"
答案 0 :(得分:7)
几乎。
pygame.init()
display = (800,600)
pygame.display.set_mode(display, DOUBLEBUF|OPENGL)
第一个依赖于提取组而不是完全匹配;第二个利用前瞻和后视来避免最终比赛中的分隔符。
答案 1 :(得分:2)
您可以使用Regexp#=~
使用正则表达式执行此操作。
/\[(?<inside_brackets>.+)\]/ =~ a
=> 25
inside_brackets
=> "cool awesome"
这样你可以将inside_brackets
分配给与正则表达式匹配的字符串(如果有的话),我认为它更具可读性。
注意:小心将正则表达式放在左侧。