public static string TagVal(string Tag, string TagName)
        {
            string[] strArray = Tag.Split(new char[] { ',' });//这里的参数该传进来什么??
            for (int i = 0; i < strArray.Length; i++)
            {
                Regex regex = new Regex(@"(?<Keyword>\w+)\s*=\s*(?<Value>.*)", RegexOptions.Compiled | RegexOptions.IgnoreCase); //"(?<Keyword>\w+)\s*=\s*(?<Value>.*)", 这个是什么意思怎么用??
                for (Match match = regex.Match(strArray[i]); match.Success; match = match.NextMatch())
                {
                    if (match.Groups["Keyword"].ToString().ToLower().IndexOf(TagName.ToLower()) != -1)
                    {//match.Groups["Keyword"].ToString()这个Groups怎么使用????                          return match.Groups["Value"].ToString().ToLower();
                    }
                }
            }
            return "";
        }

解决方案 »

  1.   

    http://lihongzhai.blog.163.com/blog/static/57323920080200368594/
      

  2.   


    //从tag传进来一个字符串,然后通过split分割成strArray,然后定义匹配的正则 
        //?<Keyword>\w+)\s*=\s*(?<Value>.*    
        // match=match.NextMatch() 表示  match是从上一个匹配结束的位置开始返回一个包含下一个匹配结果的新Match。
        // Groups:获取由正则表达式匹配的组的集合
      

  3.   

    string[] strArray = Tag.Split(new char[] { ',' });//这里的参数该传进来什么??该传进你要分割的标记符。你可以Tag.Split( 查看参数
    //"(?<Keyword>\w+)\s*=\s*(?<Value>.*)", 这个是什么意思怎么用??
    (?<name>*)表示捕获括号内的字符串,然后通过group["Name"].value 来获取括号内的匹配内容!
    \w代表所有字符 +表示前面的符号出现的次数至少一次,*代表0到n次,
    \s代表空格符
    .代表所有字符,除了换行符号,
    .*代表串字符
    //match.Groups["Keyword"].ToString()这个Groups怎么使用???
    建议你去看一些正则表达式相关书籍!