正则表达式用于在引号之间的特定单词之后提取文本

时间:2013-11-02 18:43:15

标签: ruby regex

我有一些字符串的格式如下:

"text that comes before\"start\":\"Desired Info\"text that comes after"

我想只提取“所需信息”。它始终以"\"start\":"开头,并且只会在字符串中出现一次。我可以用什么正则表达式做到这一点?

4 个答案:

答案 0 :(得分:2)

这应该有效:

s = "text that comes before\"start\":\"Desired Info\"text that comes after"

s[/(?<="start":")[^"]*(?=")/]
# => "Desired Info"

答案 1 :(得分:0)

这里:是正则表达式:

"start":"(.*)"

在代码中:

match = /"start":(.*)"/.match("text that comes before\"start\":\"Desired Info\"text that comes after");

if match
    print match[1]
end

答案 2 :(得分:0)

最简单的是:

s[/"start":"(.*?)"/, 1]
#=> "Desired Info"

答案 3 :(得分:-2)

(?:\\"start\\":\\")(.+)(?:\\")

“所需信息”进入非IGNORED捕获组。