日期:2014-05-17  浏览次数:20411 次

正则

string _test = @"一.(21分,每小题3分)#title{2.下列各句中,没有错别字的一句是(   )}#title_change{A.我不应白白地耗废时间,去无尽地感慨生命的坚辛,
                            也不应该自艾自怜命运怎么这样不济,偏偏给了我这样一块不毛之地。B.人会在闯荡世界之中获得生命的快感或满足按耐不住的虚荣心。因此,人的内心
                            总在呐喊:走啊走!C.自由地选择我们个人闲暇时能完全沉溺其中的杰作,领略人类所思、所求的广阔和丰盈,……这,归根到底是一切生活所赋予的意
                            义。D.只要我认真地活过,无愧地付出过,人们将无权耻笑我是入不付出的傻瓜,也不必用他的尺度来衡量我值得或是不值得。}";

Regex reg = new Regex(@"#title\{([^\}+])\}.*#title_change\{(.*)\}");
// 为什么 匹配不到? 哪里写的有问题,望高手指教

------解决方案--------------------
Regex reg = new Regex(@"(?is)#title\{([^\}+]+)\}.*#title_change\{(.*)\}");
------解决方案--------------------
(?is)#title\{([^}]+)\}.*#title_change\{(.*)\}
------解决方案--------------------
Regex reg = new Regex(@"(?is)#title\{([^\}+]+)\}.*?#title_change\{(.*?)\}");

匹配优先和忽略优先的问题(或者叫贪婪模式,非贪婪模式)
------解决方案--------------------
Regex reg = new Regex(@"#title\{([^\}+])\}.*#title_change\{(.*)\}");

Regex reg = new Regex(@"(?is)#title{([^}]+)\}.*?#title_change\{(.*?)\}");