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

大家帮小弟我看一下,这个有关问题如何解决

2012-04-21 
大家帮我看一下,这个问题怎么解决[Q]1+2?[/Q][O]A.1 B.2 C.3[/O][S]10[/S][Q]1+2?[/Q][O]A.1 B.2 C.3[/O

大家帮我看一下,这个问题怎么解决
[Q]1+2=?[/Q]
[O]A.1 B.2 C.3[/O]
[S]10[/S]

[Q]1+2=?[/Q]
[O]A.1 B.2 C.3[/O]
[S]10[/S]

[Q]1+2=?[/Q]
[O]A.1 B.2 C.3[/O]
[S]10[/S]


如上的字符串,我要用正则表达式取出上面三组,怎么样写正则表达式,还有Regex
应该是[Q]到[/S]之间吧,里面有空白换行!

[解决办法]

C# code
   string pattern = @"(?im)\[Q\]([^\]]+)\[/Q\]\s*\[O\]([^\]]+)\[/O\]\s*\[S\]([^\]]+)\[/S\]";            string tempStr = File.ReadAllText(@"C:\Users\dell\Desktop\Test.txt",Encoding.GetEncoding("gb2312"));//读取文档            foreach (Match m in Regex.Matches(tempStr, pattern))            {                //循环输出 三次                string value = m.Value;//[Q]1+2=?[/Q]\r\n[O]A.1 B.2 C.3[/O]\r\n[S]10[/S]                string question = m.Groups[1].Value;//1+2=?                string option = m.Groups[2].Value;//A.1 B.2 C.3                string s = m.Groups[3].Value;//10                      } 

热点排行