# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/("(?:\\[\s\S]|[^"])*")|((?:\\/\\/|#)[^\n]*)|(\\/\*[\s\S]*?\*\\/)/$1/g;t' <<< "//first line
{\"aaa\": \"qwerty\",//00
\"bbb\": 1234 //comment (not pure JSON syntax)
,\"ccc\": true # alternative comment style
,\"dd\\"d\":/*multiline\\" comm\ent*/ /*comm2\*/null,
\"ee//e\": \"example of any symbols in key including inactive comments\",
\"jsonComm\":/*is*/\"data format\",/*which contains*///comments
\"multiline1\" /*: 1, //- example of multiline comments
\"multiline2\": 2,
\"multiline3\":= 1234,*/ :[36.8,false/*,34*/,
\"/**/\",[1,2,3,4,[//56789
5,6,[[/*0*/7,{\"x\":/*xx*/\"x\"}],8]],{}] ],
\"mayBeAnyStructure\":{\"a\":1/**/,\"b\":2},
\"lineEnd\\\"
:\"end\"
}//after json
/*2*/ "
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html