package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(?:\"(?:(?<=\"(?=[^\n]))[^\n]+?(?=(?<!\\))(?=\"))?\")|(\B'(?:(?<='(?=[^\n]))[^\n]+?(?=(?<!\\))(?='))?')`)
var str = `
1. Valid double-quoted strings:
- "Hello"
- "This is a test"
- "123"
- "Special characters: @#$%^&*()_+"
- "Escape sequence: \n"
2. Valid double-quoted strings with additional characters or variables:
- " test aaaaa \" " + asdf
- " test " + ( "aaaaa" ) + gdf
- " test \" " + \`" aaaa " + dfg
- " test ' aaaaa \" " + dfg
- ""
3. Valid double-quoted strings with special characters:
- "sas''as\"a1\'2 ! -_?:sa"
- "''"
- "\abnb\ajhgf\crt098& \"'"
4. Invalid double-quoted strings:
- " test " + ( "aaaaa" ) \" saf
- "\\ + \* test " \$ \. dsdfs
- (\" test \" " + " aaaa " sfgd
- ' test ' + aas ( "aaaaa" ) + '\ sd
- '\\ + \* test ' \$ \. trace
- (' test ' as ' + ' aaaa '
- '""'
- '"sas'
- 'ads'
- 'asdasd\"asdsa'
- "klkl"klkl
- "asa\'sasa\\"
- \'\\\'
- "hhhh"klkl"
- 'jkjkjk'klklk'
- '\"\\\"'
- ''
- '\"asa\'sasa\\\"'
- "sasasasa\\\\\\"
1. Valid single-quoted strings:
- 'Hello'
- 'This is a test'
- '123'
- 'Special characters: @#$%^&*()_+'
- 'Escape sequence: \n'
2. Valid single-quoted strings with additional characters or variables:
- ' test aaaaa \' ' + asdf
- ' test ' + ( 'aaaaa' ) + gdf
- ' test \' ' + ' aaaa' + dfg
- ' test " aaaaa \' ' + dfg
- ''
3. Valid single-quoted strings with special characters:
- 'sas""as\'a1\"2 ! -_?:sa'
- '""'
- '\abnb\ajhgf\crt098& \'""'
4. Invalid single-quoted strings:
- ' test ' + ( 'aaaaa' ) \' saf
- '\\ + \* test ' \$ \. dsdfs
- (\' test \' + ' aaaa ' sfgd
- " test \" " + " aaaa " sfgd
- ' test ' + aas ( 'aaaaa' ) + '\ sd
- '\\ + \* test ' \$ \. trace
- (' test ' as ' + ' aaaa '
- "''"
- 'sas"
- "ads'
- 'asdasd\'asdsa'
- "klkl"klkl
- "asa\'sasa\\"
- \'\\\'
- 'hhhh"klkl\'\
- \'jkjkjk"klklk'
- "\'\\\'"
- ''
- '\"asa\'sasa\\\"'
- 'sasasasa\\\\\\'
`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
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/