日期:2014-05-18  浏览次数:20813 次

请问一个正则问题
如果有一个字符串 

sdwqdhwqkghkg321 dsw wq dwq { name:"我dni单位",dwqdwquidwq

我想匹配出“我dni单位”这些字符串,该怎么去写?


“我dni单位”可能有特殊符号,比如说【 】 ﹫﹡〗 等。

------解决方案--------------------
参考最后一个例子
------解决方案--------------------
C# code

            string s = @"sdwqdhwqkghkg321 dsw wq dwq { name:""我dni单位"",dwqdwquidwq";
            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"name:""(?<value>\w*\W*)""");            
            System.Text.RegularExpressions.Match m = reg.Match(s);
            MessageBox.Show(m.Groups["value"].Value);

------解决方案--------------------

C# code

string str = @"sdwqdhwqkghkg321 dsw wq dwq { name:""我dni单位"",dwqdwquidwq";
Regex re = new Regex(@"(?is)(?<=name:"")[^""]+(?="")", RegexOptions.None);
MatchCollection mc = re.Matches(str);
foreach (Match ma in mc)
{
  //ma.Value就是你要的值
}