我有例如消息的一些格式:如何在c#regex中捕获匹配和不匹配?
"?I?Message message message\r\n"
现在我想通过正则表达式使用命名组捕捉到了这个信息:
(?<Message>\?(?<Type>\S)\?(?<Text>[\S\s]+(\r\n)+))
但我想有这确实也是所有字符串不符合此消息格式。例如:
"Some data?I?Message message\r\nAnother part of data\n"
会给我3场比赛:??
- “一些数据”
- 我留言信息\ r \ n
- “数据\ n的另一部分”
我可以检查消息组是否具有成功字段设置为true,以检查是否有任何提及的格式消息发生。否则我会有一些“原始数据”。 是否有可能使用正则表达式和匹配做这样的事情?
确定,以便适用于我的示例输入数据,但不适用于此示例:“某些数据?我?消息消息\ r \ n数据的另一部分\ n” – user36372 2012-07-21 20:27:02
我已修改答案。 – 2012-07-21 20:50:30
再次修改,我发现一些代码将不匹配的char索引分组到它们的字符串中。 – 2012-07-21 20:59:20