Ruby正则表达式在第一个(和最后一个)之间提取字符串

时间:2013-04-28 13:25:22

标签: ruby regex

我有一个字符串:

"whatever( here i com  ( asdfasDF ( ) ) ) go home"

我想在第一个"("和最后一个")"之间提取所有内容:

" here i com  ( asdfasDF ( ) ) "

提取它的正则表达式是什么?


更新

如果我的字符串包含换行符,则以下内容有效:

/\((([.|\s|\S])*)\)/

3 个答案:

答案 0 :(得分:4)

带有捕获的贪婪表达,例如:

/\((.*)\)/

答案 1 :(得分:3)

"whatever( here i com  ( asdfasDF ( ) ) ) go home"[/\((.*)\)/m, 1]

"whatever( here i com  ( asdfasDF ( ) ) ) go home"[/(?<=\().*(?=\))/m]

答案 2 :(得分:2)

str = "whatever( here i com ( asdfasDF ( ) ) ) go home"
p str[str.index("(")+1..str.rindex(")")-1]