2

获取 az、AZ、0-9、空格、特殊字符以检测 url 的模式是什么

这是我的输入字符串:

{id:1622415796,姓名:Vincent Dagpin,图片:https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/573992_1622415796_217083925_q.jpg}

这是模式:到目前为止

([a-z_]+):[ ]?([\d\s\w]*(,|}))

预期结果:

id:1622415796
name:Vincent Dagpin
picture:https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/573992_1622415796_217083925_q.jpg

问题是我不能得到最后一部分..图片网址..

任何帮助请..

4

2 回答 2

1

我不认为正则表达式是正确的解决方案。C# 已经包含了你在 JavaScriptSerializer 中需要的工具。在此处查看答案以了解方法。

于 2012-04-19T13:38:14.083 回答
1

如果这是您期望的唯一一种 json 输入,并且不太可能进一步解析 json,那么完整的 json 解析器将是矫枉过正。

字符串拆分可能就是您所需要的,jsonString.Split(',', '{', '}'); 其正则表达式将沿着[{},]([a-z_]+):[ ]?(.+?)(?=,|})

如果您可以修改正在发送的 json 字符串,则可以将 RegEx 键入其他内容,例如双引号。这是我正在使用的一个,它需要知道 json 键名。System.Text.RegularExpressions.Regex("(?<=\"" + key + "\"+ *: *\"+).*(?=\")");

于 2015-06-12T21:09:00.413 回答