【发布时间】:2023-04-07 11:00:01
【问题描述】:
我正在编写一个小的 Web 服务,它以具有各种“主题”的图像的形式生成 SO/SF/SU/MSO 用户风格。我发现这比使用 SO 提供的 HTML/JS 解决方案更可取,因为它更灵活,并且在论坛签名中也能更好地工作。
我正在使用显然是非官方的 API (More info here) 检索数据。我可以拥有 HTML 或 JSON 格式的数据。我认为 JSON 会更容易解析。
不幸的是,我不擅长正则表达式。我能想到的最好的就是一些非常老套的子串。我相信正则表达式应该是最优雅的解决方案,但欢迎其他建议。
有人可以为我指出正确的方向以获取匹配的正则表达式 ID、GravatarURL、ProfileURL、DisplayName、声誉和徽章计数(青铜/白银/黄金)。
FWIW 这将在 VB.Net 项目中使用(以防完全影响语法)
{"id":1,"gravatarHtml":"\u003cimg src=\"http://www.gravatar.com/avatar/51d623f33f8b83095db84ff35e15dbe8?s=50&d=identicon&r=PG\" height=\"50\" width=\"50\" alt=\"\"\u003e","profileUrl":"http://stackoverflow.com/users/1/jeff-atwood","displayName":"Jeff Atwood","reputation":"18,446","badgeHtml":"\u003cspan title=\"8 gold badges\"\u003e\u003cspan class=\"badge1\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e8\u003c/span\u003e\u003c/span\u003e\u003cspan title=\"57 silver badges\"\u003e\u003cspan class=\"badge2\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e57\u003c/span\u003e\u003c/span\u003e\u003cspan title=\"72 bronze badges\"\u003e\u003cspan class=\"badge3\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e72\u003c/span\u003e\u003c/span\u003e"}
或者更易读的格式:
{
"id":1,
"gravatarHtml":"\u003cimg src=\"http://www.gravatar.com/avatar/51d623f33f8b83095db84ff35e15dbe8?s=50&d=identicon&r=PG\" height=\"50\" width=\"50\" alt=\"\"\u003e",
"profileUrl":"http://stackoverflow.com/users/1/jeff-atwood",
"displayName":"Jeff Atwood",
"reputation":"18,446",
"badgeHtml":"
\u003cspan title=\"8 gold badges\"\u003e\u003cspan class=\"badge1\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e8\u003c/span\u003e\u003c/span\u003e
\u003cspan title=\"57 silver badges\"\u003e\u003cspan class=\"badge2\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e57\u003c/span\u003e\u003c/span\u003e
\u003cspan title=\"72 bronze badges\"\u003e\u003cspan class=\"badge3\"\u003e●\u003c/span\u003e\u003cspan class=\"badgecount\"\u003e72\u003c/span\u003e\u003c/span\u003e
"
}
(注意:值得注意的是,如果您没有任何特定徽章,则根本没有该徽章的条目,而不是显示“0”)
不幸的是,我什至不知道从哪里开始使用正则表达式,因此非常感谢任何帮助、建议或文档
[编辑]
如果你们中的任何人感兴趣,可以在此处获得一些正在开发的天赋截图:Me、Jeff Atwood、Joel Spolsky
如果有人想要自己的,我会公开访问吗?
[/编辑]
【问题讨论】: