【发布时间】:2012-05-18 14:35:03
【问题描述】:
我希望能够使用 c# 中的正则表达式匹配并提取以下字符串中的所有子字符串:
"2012-05-15 00:49:02 192.168.100.10 POST /Microsoft-Server-ActiveSync/default.eas User=nikced&DeviceId=ApplDNWGRKZQDTC0&DeviceType=iPhone&Cmd=Ping&Log=V121_Sst8_LdapC0_LdapL0_RpcC31_RpcL50_Hb3540_Erq1_Pk1728465481_S2_ 443 redcloud\nikced 94.234.170.42 Apple-iPhone4C1/902.179 200 0 64 3140491"
由于它是一个日志文件,因此正则表达式应该能够处理任何类似类型的行。
在这种情况下,集合的首选输出应该是:
2012-05-15
00:49:02
192.168.100.10
/Microsoft-Server-ActiveSync/default.eas
User=nikced&DeviceId=ApplDNWGRKZQDTC0&DeviceType=iPhone&Cmd=Ping&Log=V121_Sst8_LdapC0_LdapL0_RpcC31_RpcL50_Hb3540_Erq1_Pk1728465481_S2_
443
redcloud\nikced
94.234.170.42
Apple-iPhone4C1/902.179
200
0
64
3140491
感谢使用 C#、.net 和正则表达式将上述子字符串提取到集合中的任何答案(首选 MatchCollection)。所有日志行都遵循相同的格式和模式。
【问题讨论】:
-
使用 C# RegEx 有什么困难?除了“懒得自己做”?
-
我知道已经有了答案,但我对你已经尝试过的东西很感兴趣......