Build, test, and debug regular expressions
A simple JSON tokenizer that splits JSON or JSON-like text into four token types: structural punctuation characters (colons, commas, curly braces, square brackets), double-quoted strings, single-quoted strings, and bare values such as numbers, booleans, null, or unquoted identifiers. Useful for building lightweight lexers/parsers when a full JSON library isn't available, or for handling relaxed JSON variants that allow single quotes and unquoted keys. The global flag ensures all tokens in the input are matched sequentially.