读书人

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

发布时间: 2013-12-26 00:35:35 作者: rapoo

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

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


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

[解决办法]


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);

读书人网 >C#

热点推荐