如何让后向变得贪婪?
在这种情况下,我希望后向使用 : if is present。
m = Regex.Match("From: John", @"(?i)(?<=from:)....");
// returns ' Jon' what I expect not a problem just an example
m = Regex.Match("From: John", @"(?i)(?<=from:?)....");
// returns ': Jo'
// I want it to return ' Jon'
我找到了解决方法
@"(?i)(?<=\bsubject:?\s+).*?(?=\s*\r?$)"
只要你在后面加上一些肯定的?然后它消除了可选的贪婪。出于同样的原因,我不得不将 $ 放在前瞻中。
但是,如果您需要以可选的贪婪结束,那么必须使用下面接受的答案。