所以我有一个带有空格和所有内容的字符串。
id: 123456789,
name: 'HappyDev',
member: false,
language: 0,
isLoggedIn: 0
这是我的模式
static string pattern = @" id: (.*),
name: (.*),
member: (.*),
language: (.*),
isLoggedIn: (.*)";
然后为了得到我的比赛,我这样做..
static Regex r = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Singleline);
Match m = r.Match(myString);
if (m.Success)
{
Console.WriteLine(m.Value);
}
出于某种原因,即使在我可以测试我的模式的每个网站上,它也会在我编译时返回 false,它返回与值的匹配项。为什么编译时返回false?
问题是你有不同数量的空格。要在任何情况下忽略此问题,您都可以使用模式来匹配多个空格:\s+
. 此外,您应该用新行的模式替换新行:([\n\r]+
请注意,这将匹配任意数量的新行)
所以你的模式变成:
static string pattern = @"\s+id: (.*),[\n\r]+\s+name: (.*),[\n\r]+\s+member: (.*),[\n\r]+\s+language: (.*),[\n\r]+\s+isLoggedIn: (.*)";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句