【发布时间】:2016-03-04 07:49:26
【问题描述】:
我遇到了RegEx 的问题。我收到一个需要解析为NameValueCollection 的字符串。 ParseQueryString 不起作用,因为 (1) 字符串是空格分隔的,并且 (2) 值可以包含空格。我无法控制输入。
示例字符串:
-AppCode='MyApplication' -AppVers='V-2016.0 Debug' -MachUuid='2C850880-34FD-12F3-A06B-7336B0C4BC55' -MachName='ABEZG-F05507' -Language=2055
可以包含空格或连字符的字符串值用单引号括起来。整数值不包含在引号中。
我试过了:
[\w\-]+=[\w\s\']+(?![\w\-]+=[\w\s\'\-])
但这不允许在值中使用连字符
[\w\-]+=[\w\s\'\-]+(?![\w\-]+=[\w\s\'\-])
确实如此,但它超出了空格字符。
理想的输出是:
-AppCode MyApplication
-AppVers V-2016.0 Debug
-MachUuid 2C850880-34FD-12F3-A06B-7336B0C4BC55
-MachName ABEZG-F05507
-Language 2055
不幸的是,这么多年过去了,我仍然无法弄清楚RegEx。任何帮助将不胜感激!
【问题讨论】:
标签: .net regex string parsing namevaluecollection