Мне было интересно, если спецификация JSON определяет обычный язык. Это кажется достаточно простым, но я не уверен, как это доказать самому.
Причина, по которой я спрашиваю, заключается в том, что мне было интересно, можно ли использовать регулярные выражения для эффективного анализа JSON.
Может ли кто-нибудь с достаточным количеством представителей, пожалуйста, создать теги JSON и регулярного языка для меня?
Ответы:
Поскольку не является обычным языком, также не является JSON, так как [ n 5 ] n является допустимым вводом для любого n . Аналогично, ваш синтаксический анализатор регулярных выражений должен был бы корректно отклонить любой ввод [ m 4 ] n, где m ≠ n, что вы не можете сделать с регулярными выражениями.anbn [n5]n n [m4]n m≠n
Следовательно, JSON не является регулярным.
источник
Нет, это не регулярно. Поскольку он допускает произвольное вложение сбалансированных разделителей, он должен быть как минимум не зависящим от контекста.
Например, рассмотрим массив массивов массивов:
Понятно, что вы не можете разобрать это с истинными регулярными выражениями.
источник