I am creating a JSON validator from scratch, but I am completely stuck with a string. My hope was to create a regular expression that would match the following sequence found on JSON.org:

So far, my regex is:
/^\"((?=\\)\\(\"|\/|\\|b|f|n|r|t|u[0-9a-f]{4}))*\"$/
It matches the criteria with a backslash, the next character, and an empty string. But I'm not sure how to use the UNICODE part.
Is there a regular expression to match any expert with a UNICODE character? or \ or control character? And will it match a new line or horizontal tab?
The final question is that the regex matches the string "\ t" but not "" (four spaces, but the idea should be a tab). Otherwise, I will need to extend the regex with it, which is not a problem, but I assume that the horizontal tab is a UNICODE symbol.
Thanks to Jaeger Kor, I now have the following regex:
/^\"((?=\\)\\(\"|\/|\\|b|f|n|r|t|u[0-9a-f]{4})|[^\\"]*)*\"$/
It seems correct, but is there a way to check for control characters or is it unnecessary as they appear on non-printable characters on the regular -expressions.info? The input for validation is always text from a text field.
Update: The regex looks as if it were needed:
/^("(((?=\\)\\(["\\\/bfnrt]|u[0-9a-fA-F]{4}))|[^"\\\0-\x1F\x7F]+)*")$/
Sitse source share