我需要只将文字匹配到“”。
我尝试使用此代码,但不起作用:(
text = ""This is an example text to be mathed""
text.scan(/^(")$(")/)
提前致谢。
答案 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)
匹配字符串的更好模式是:
/"(\\.|[^"])*"/
这会消耗反斜杠转义符,但会在第一个终止"
时停止(除非前面有反斜杠)。