2

我正在尝试让多行正则表达式与 .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
4

1 回答 1

0

在这种情况下,您需要使用RegexOptions.Singleline而不是RegexOptions.Multiline.

于 2012-12-21T10:15:09.970 回答