Eu queria saber se a especificação JSON definiu uma linguagem regular. Parece bastante simples, mas não tenho certeza de como provar isso sozinho.
A razão pela qual pergunto é porque estava pensando se alguém poderia usar expressões regulares para analisar efetivamente o JSON.
Alguém com representante suficiente pode criar as tags json e linguagem regular para mim?
Respostas:
Como não é uma linguagem regular, nem o JSON, pois [ n 5 ] n é uma entrada válida para qualquer n . Da mesma forma, seu analisador de expressões regulares teria que rejeitar adequadamente qualquer entrada [ m 4 ] n em que m ≠ n que você não pode fazer com expressões regulares.umanbn [n5 ]n n [m4]n m≠n
Portanto, o JSON não é regular.
fonte
Não, não é regular. Como permite a incorporação arbitrária de delimitadores balanceados, deve ser pelo menos livre de contexto.
Por exemplo, considere uma matriz de matrizes de matrizes:
Claramente, você não poderia analisar isso com expressões regulares verdadeiras.
fonte