我有一个字符串文本,如:
"ruf": "the text I want",
"puf":
我想在引号中提取文本。
尝试了这个:
string cg="?<=\"ruf\":\")(.*?)(?=\",puf";
Regex g = new Regex(cg);
它没有用。
答案 0 :(得分:3)
尝试使用以下正则表达式:
(?<="ruf":\s\")[^"]*
程序中使用的字符串文字:
C#
@"(?<=""ruf"":\s\"")[^""]*"
输出:
the text I want
模式描述:
(?<= look behind to see if there is:
"ruf": '"ruf":'
\s whitespace (\n, \r, \t, \f, and " ")
\" '"'
) end of look-behind
[^"]* any character except: '"' (0 or more times
(matching the most amount possible))
你能加puf吗?因为它是一个长文本,其中包含多个引号
如果你正在寻找&#34; puf&#34;找到然后尝试下面的正则表达式:
(?<="ruf":\s\")[\s\S]*(?=",\s*"puf")
程序中使用的字符串文字:
C#
@"(?<=""ruf"":\s\"")[\s\S]*(?="",\s*""puf"")"
答案 1 :(得分:1)
答案 2 :(得分:1)
这样做:
var myRegex = new Regex(@"(?s)(?<=""ruf"": "")[^""]*(?=\s*""puf"")");
string resultString = myRegex.Match(yourString).Value;
Console.WriteLine(resultString);