package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`("(?:\\[\s\S]|[^"])*")|((?:\/\/|#)[^\n]*)|(\/\*[\s\S]*?\*\/)`)
var str = `//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*/ `
var substitution = "$1"
fmt.Println(re.ReplaceAllString(str, substitution))
}
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 Golang, please visit: https://golang.org/pkg/regexp/