首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么用正则将字符串里的数据提取出来

2013-12-26 
如何用正则将字符串里的数据提取出来?如:你好,我叫赵云,我是武将,擅长用枪.你好,我叫黄忠,我是武将,擅长用

如何用正则将字符串里的数据提取出来?
如:

你好,我叫赵云,我是武将,擅长用枪.
你好,我叫黄忠,我是武将,擅长用弓箭.
你好,我是诸葛亮,我是文官.


上面一行行字符串,如何用正则把蓝色字的数据提取出来?

[解决办法]


            System.IO.StreamReader reader = new System.IO.StreamReader(@"e:\1.txt",Encoding.Default);
            string source = reader.ReadToEnd();
            string patten = @"(?<=叫
[解决办法]

[解决办法]
用)[^,.]+(?=,
[解决办法]
\.)";
            Regex reg = new Regex(patten);
            MatchCollection mc = reg.Matches(source);
            foreach (Match item in mc)
            {
                MessageBox.Show(item.Value);
            }

[解决办法]
string patten = @"(?is)你好,我叫([^,]+),我是([^,]+),擅长用([^.]+)\.";
Console.Write(item.Groups[1].Value + "  " +item.Groups[2].Value+"  "+item.Groups[3].Value);

热点排行