Я пишу небольшую веб-службу, которая генерирует пользовательский талант SO/SF/SU/MSO в виде изображения с различными «темами». Я считаю это предпочтительным использовать решения HTML/JS, предлагаемые SO, поскольку он более гибкий, а также лучше работает в сигнатурах форума..Net Regex для разбора конкретного формата JSON
Я извлекаю данные, используя, по-видимому, неофициальный 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
"
}
(NB: Стоит отметить, что если у вас нет какого-либо определенного значка, у него нет записи для этого значка, а не для показа «0»)
К сожалению, я даже не знаю, с чего начать с регулярного выражения поэтому любая помощь , Предложения или документация высоко оценило
[Редактировать]
В случае, если любой из вас интересует, некоторые скриншоты чутья как незавершенные доступен здесь: Me, Jeff Atwood, Joel Spolsky
Я сделаете его общедоступным, если кто-то захочет их?
[/ Edit]
Как также отвечая на мой вопрос, вы решил проблему за ней. Большое спасибо. Я понятия не имел, что API существует - определенно будет благом. – Basic
надеюсь увидеть потрясающую надстройку для SOF в ближайшее время! –