Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Ruby中的String对象获取括号之间的内容_Ruby_Regex_String - Fatal编程技术网

从Ruby中的String对象获取括号之间的内容

从Ruby中的String对象获取括号之间的内容,ruby,regex,string,Ruby,Regex,String,我有这样一个字符串: 嗨,我的名字是约翰(又名约翰纳托) 获取括号(包括括号)之间内容的最佳方法是什么?可以与正则表达式一起使用: a = "Hi my name is John (aka Johnator)" a[/\(.*?\)/] # => "(aka Johnator)" 试试这个: str1 = "" text = "Hi my name is John (aka Johnator)" text.sub(/(\(.*?\))/) { str1 = $1 } puts str

我有这样一个字符串:

嗨,我的名字是约翰(又名约翰纳托)

获取括号(包括括号)之间内容的最佳方法是什么?

可以与正则表达式一起使用:

a = "Hi my name is John (aka Johnator)"
a[/\(.*?\)/]
# => "(aka Johnator)"
试试这个:

str1 = ""
text = "Hi my name is John (aka Johnator)"

text.sub(/(\(.*?\))/) { str1 = $1 }

puts str1
编辑:没有读到关于留下括号的内容

使用
[^()]*?
选择括号中的文本:

a = "Hi (a(b)c) ((d)"
# => "Hi (a(b)c) ((d)"
a.gsub(/\([^()]*?\)/) { |x| p x[1..-2]; "w"}
"b"
"d"
# => "Hi (awc) (w"

“嗨,我叫约翰(又名惊喜蝙蝠/\(*)(*)/\)”?@dbenhur半个惊喜蝙蝠<代码>[/\(.*\)/]将阻止屠杀。@Cade好的,但现在我们被
冲了出来:“嗨,我的名字是约翰(又名惊喜蝙蝠/\\(*)(*)/\),这是我的朋友威廉(又名比尔)”
。Regexp很难处理任意嵌套。@dbenhur当然可以。但这些都是稻草人。它对
(当()输入()时()很难()写()((regex))(可以()任何东西!)
@venkatareddy问号将它从贪婪匹配(匹配到最后一个右括号)更改为惰性匹配(匹配到第一个右括号)。您可以在此处阅读有关贪婪与懒惰匹配的更多信息: