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

一个正则表达式求解,怎么匹配最右

2013-03-01 
一个正则表达式求解,如何匹配最右?本帖最后由 llx1990 于 2013-02-24 22:03:56 编辑现在我有一串字符串goo

一个正则表达式求解,如何匹配最右?
本帖最后由 llx1990 于 2013-02-24 22:03:56 编辑 现在我有一串字符串
good12345good654321bad

我用这个表达式匹配
(?<=(good)).*?(?=(bad))
结果为
12345good654321

但是我想要匹配的是最右边最短的那个good,也就是说,结果要为
654321

请问要怎么从到最右边的good开始匹配,而不是一开始的那个good呢?
[解决办法]
加上匹配的内部不包含'good'就行了。

(?<=(good))((?!good).)*(?=(bad))
[解决办法]
顶机器人
还有一种解决方案:
匹配的时候,从右至左匹配:
Regex reg=new Regex("",RegexOptions.RightToLeft);

热点排行