Я пытаюсь использовать последнюю версию jquery, проблема решена.
спасибо всем.
Сбалансированные круглые скобки являются буквально примером из учебника языка, который не может быть обработан с регулярными выражениями. JSON является по существу сбалансированными круглыми скобками плюс набор другого материала с фигурными скобками, замененными parens. В иерархии формальных языков JSON является контекстно-свободным языком. Регулярные выражения не могут проанализировать контекстно-свободные языки.
Некоторые системы предлагают расширения регулярных выражений, которые своего-рода-sorta обрабатывают сбалансированные выражения. Однако они - все ужасные взломы, они - все непортативное устройство, и они - все в конечном счете неправильный инструмент для задания.
В профессиональной работе Вы почти всегда использовали бы существующий синтаксический анализатор JSON. Если бы Вы хотите к самокрутке в образовательных целях затем, я предложил бы запуститься с простой арифметической грамматики, которая поддерживает + - * / (). (JSON имеет некоторые правила выхода, которые, в то время как не сложный, предпримут Вашу первую попытку тяжелее, чем это должно быть.) В основном Вы должны будете:
Это - типичный третий год присвоение CS в примерно любом университете.
Следующий шаг должен узнать, как сложный JSON представляет Вас в виде строки, должен инициировать переполнение стека в Вашем рекурсивном синтаксическом анализаторе. Затем посмотрите на другие типы синтаксических анализаторов, которые могут быть записаны, и Вы поймете, почему любой, кто должен проанализировать контекстно-свободный язык в реальном мире, использует инструмент как yacc или antlr вместо того, чтобы писать синтаксический анализатор вручную.
Если это больше учится, чем Вы искали затем, необходимо не стесняться идти, используют стандартный синтаксический анализатор JSON, satisified, что Вы изучили что-то важное и полезное: пределы регулярных выражений.
Вы используете.NET 3.5? Если так, можно использовать DataContractJsonSerializer
проанализировать это. Нет никакой причины сделать это самостоятельно.
Если Вы не используете.NET 3.5, можно использовать Jayrock.
JSON не может обычно анализироваться с регулярными выражениями (определенные чрезвычайно упрощенные варианты JSON могут, но затем они не JSON, но что-то еще).
Вам нужен фактический синтаксический анализатор для надлежащего парсинга JSON.
И так или иначе, почему Вы пытаетесь проанализировать JSON вообще? Существуют многочисленные библиотеки там, которые могут сделать это для Вас, и намного лучше, чем Ваш код был бы. Почему изобретают велосипед, когда существует фабрика колеса за углом со словами FOSS по двери?
Сбалансированные круглые скобки - это буквально учебный пример языка, который не может быть обработан с помощью регулярных выражений
бла бла бла. .. проверьте это:
arrayParser = "(?<Key>[\w]+)":"?(?<Value>([\s\w\d\.\\\-/:_]+(,[,\s\w\d\.\\\-/:_]+)?)+)"?
это работает для меня
, если вы хотите сопоставить пустые значения, измените последний '+' на '*'