Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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中的“uquot”之间获取内容_Ruby_Regex - Fatal编程技术网

在ruby中的“uquot”之间获取内容

在ruby中的“uquot”之间获取内容,ruby,regex,Ruby,Regex,我想从我的文件中获取uz(“”)之间的所有字符串 我怎样才能拿到那个 假设您要查找的字符串中没有嵌套的引号,则希望将文件加载到字符串中 str=File.read("/path/to/file") 然后使用正则表达式扫描字符串。下面的正则表达式应该可以做到这一点。它查找字符()(此处的圆括号被转义,因为圆括号在正则表达式中有特殊含义)。下一个圆括号开始捕获组(这样字符串的文本将存储在特殊变量$1中。然后它会找到一个连续字符字符串,直到第一个引号为止。然后它结束捕获组(使用一个未转换的右括号)查

我想从我的文件中获取uz(“”)之间的所有字符串


我怎样才能拿到那个

假设您要查找的字符串中没有嵌套的引号,则希望将文件加载到字符串中

str=File.read("/path/to/file")
然后使用正则表达式扫描字符串。下面的正则表达式应该可以做到这一点。它查找字符
)(此处的圆括号被转义,因为圆括号在正则表达式中有特殊含义)。下一个圆括号开始捕获组(这样字符串的文本将存储在特殊变量
$1
中。然后它会找到一个连续字符字符串,直到第一个引号为止。然后它结束捕获组(使用一个未转换的右括号)查找
以完成表达式

/_\("([^"]*)"\)/
使用它

str.scan( /_\("([^"]*)"\)/ ) do
  puts $1
end

你能澄清一下你的问题吗?你想要的是一对双引号内的字符串,还是一对被括号包围的双引号内的字符串?如果有嵌套的
(“”
s,比如
foo”(“bar”(“baz”)会怎么样
?@sepp2k:一般来说,你应该回答一个正则表达式问题,而不仅仅是抱怨嵌套(除非嵌套确实是一个问题)。你可以随时提出一个警告,如果字符串是嵌套的,它就不起作用,但是直接拒绝回答问题是不礼貌的。在这种情况下,使用
()
到字符串上的所有
gettext
,因此我假设他试图扫描一个文件以找到所有需要本地化的字符串——它们不太可能包括嵌套,因为
(“baz”)
在我所知道的任何人类语言中都不是一个词。@Ken Bloom这正是我想要的。@Ken:我没有拒绝任何东西,我要求澄清。显然,这个问题的答案是不同的,这取决于他想如何处理嵌套的大小写。是的,这是关于gettext的事实,显然嵌套的大小写并不重要,但我不认为没有意识到这是关于gettext的事情会让我变得粗鲁。