在引号之间匹配文本

时间:2011-12-31 20:40:41

标签: ruby regex

我需要只将文字匹配到“”。

我尝试使用此代码,但不起作用:(

text = ""This is an example text to be mathed""
text.scan(/^(")$(")/)

提前致谢。

2 个答案:

答案 0 :(得分:3)

所以你的例子不起作用,因为你的字符串格式不正确。也就是说,“boo”“不是Ruby字符串。您可以使用单引号在其中创建带双引号的字符串并执行匹配,如下所示:

>> boo = '"Sample text to be matched"'
=> ""Sample text to be matched"\n"
>> boo.scan(/"(.*)"/)
=> [["Sample text to be matched"]]

答案 1 :(得分:0)

匹配字符串的更好模式是:

/"(\\.|[^"])*"/

这会消耗反斜杠转义符,但会在第一个终止"时停止(除非前面有反斜杠)。