多行正则表达式不匹配

时间:2012-12-21 09:20:51

标签: c# .net regex

我正在尝试使用.NET的多行正则表达式,但没有太多运气。我相信我认为这将匹配多行,但第三次匹配总是被省略。我需要捕获收件人和推理字段。我知道我可以通过一个循环和两个正则表达式做到这一点,但我更喜欢一个更简洁的解决方案。

我正在使用的正则表达式是:

(.*?)Destination: mobile (\(SMS\))?(\d{10,})(?:.*?)Reason: (.*)

它应与此文本匹配:

NON-DELIVERY NOTE

The following message was not delivered:

Addressed to: 01234567890@sms.local
Destination: mobile (SMS)01234567890
Reference number: 155618127W

Reason: Rejected by network operator

1 个答案:

答案 0 :(得分:0)

在这种情况下,您需要使用RegexOptions.Singleline代替RegexOptions.Multiline