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

咨询一个获取括号内值的正则表达式写法解决方案

2012-03-15 
咨询一个获取括号内值的正则表达式写法刚接触正则表达式不久,还没掌握的很熟。有个小问题比较困扰。我有这样

咨询一个获取括号内值的正则表达式写法
刚接触正则表达式不久,还没掌握的很熟。有个小问题比较困扰。
        我有这样的一个句子:阿[打[答案1]阿大[答案2]法所]得[答案   3.]送颠[覆。
        希望能把其中配对的括号内的值都去出来,例如上面这一句希望能获得的是:
1.答案1
2.答案2
3.答案   3.
        我本来是这么写的,string   patern   =   @ "\[(? <item> [\S+\s]{0,})\] ";
        结果只匹配出来一个:打[答案1]阿大[答案2]法所]得[答案   3.
        请问为什么]是从右侧开始找的?如果想达到要求的话,应该如何来写?



[解决办法]
\[[^\[\]]*\]
[解决办法]
@ "\[[^\[\]]*\] " 不知道可以不可以,你可以测试一下。如果不行就等过客来。呵呵~~~
[解决办法]
try

string yourStr = ...................;
MatchCollection mc = Regex.Matches(yourStr, @ "\[(? <item> [^\[\]]*)\] ");
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[ "item "].Value + "\n ";
}

热点排行