日期:2014-05-17  浏览次数:20614 次

请教正则表达式如何理解
{"ean":"6933365134940","name":"","titleSrc":"http:\/\/www.liantu.com\/tiaoma\/eantitle.php?title=RUhRQXVTbnEvN3MvNU9nRXdKbEcxbDdkOXpEd0hkYlo=","guobie":"\u4e2d\u56fd","supplier":"\u5e7f\u5dde\u5e02\u632f\u5174\u5b9e\u4e1a\u6709\u9650\u516c\u53f8","sort_id":7,"faccode":"69333651","fac_name":"\u5e7f\u5dde\u5e02\u632f\u5174\u5b9e\u4e1a\u6709\u9650\u516c\u53f8","fac_status":"\u6709\u6548"}


通过抓取获取的字符,想获得http:这段字符。正则表达式是这么写的,如下
string input = @"titleSrc"":""(?<name>\S+)"",""guobie";
        string name = "";
        try
        {
            Regex re = new Regex(input);
            foreach (Match m in re.Matches(strcon))
            {
                if (m.Groups["name"].Value != "")
                {
                    name = m.Groups["name"].Value.Trim();
                    break;
                }
            }
        }

代码中不是明白:(?<name>\S+) 为什么这么写,请教。。。。

------解决方案--------------------
(?<name>\S+) 
捕获匹配不为空的文本且把捕获结果放到名为name的捕获组里
------解决方案--------------------
(?<name>\S+) 称之为命名捕获组。
请参考NET正则基础之——平衡组
------解决方案--------------------
将匹配的非空结果放入到命令为name的内容中
------解决方案--------------------
http://blog.csdn.net/lxcnn/article/details/4146148