日期:2014-05-18  浏览次数:20864 次

[正则相关]如何在只更改表达式的情况下,让匹配不到就Match.Success为true
标题表达可能有些混乱
背景是这样的,文本里有一堆故障和对应的故障ID
当故障被修复后,该ID被清除。
现在要编写一个正则表达式,当那个ID被清除的时候,正则表达式匹配成功
即Match.Success为true
请问正则表达式能做到么?

PS:程序是写死了判断修复成功和失败是直接取Match.Success,而且要求不要修改程序

------解决方案--------------------
程序不是神仙,你想怎么着就怎么着。你ID清除后就没了内容。叫正则表达式找什么去匹配啊。还是换换思路。
------解决方案--------------------
用平衡组定义
(?'success'原来的表达式)(?(success)(?!))
参考
http://msdn.microsoft.com/zh-cn/library/bs2twtah.aspx#balancing_group_definitionhttp://msdn.microsoft.com/zh-cn/library/bs2twtah.aspx#balancing_group_definition