Показать сообщение отдельно
  #1 (permalink)  
Старый 28.05.2012, 19:19
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Ругулярные выражения.
Есть следующий текстовый документ:
{
   "http://habrahabr.ru/": {
      "id": "http://habrahabr.ru/",
      "shares": 832
   },
   "http://habrahabr.ru/company/apps4all/blog/144705/": {
      "id": "http://habrahabr.ru/company/apps4all/blog/144705/",
      "shares": 11
   }
}


Нужно при помощи регулярки получить числа: 832 и 11. При этом нужно учесть что второго числа может и небыть, в данном случае 11.

Как пробовал я:
var txt = '{"http://habrahabr.ru/events/coming/":{"id": "http://habrahabr.ru/events/coming/","shares": 832},"http://habrahabr.ru/":{"id": "http://habrahabr.ru/","shares": 11}}';

var matches = txt.math(/"shares":\s+(\d+)\s+/g);


При это я ожидал что в:
matches[0] -> будет изначальный документ
matches[1] -> первое значение (832)
matches[2] -> второе значение (11), если есть

Но как оказалось все не так, постоянно возвращается непонятная фигня.

Поэтому помогите ))
Ответить с цитированием