package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(?xm)^
(?:|
[^;"'\r\n]*
(?:
(?:'[^'\r\n]*')|
(?:"[^"\r\n]*")
)*
)
\h*
;\h*([^\r\n]*)`)
var str = `; test
; "test"
; "test'
; 'test'
; 'test"
$x='' ; chaîne "vide"
$x="" ; chaîne "vide"
$x="" ; chaîne 'vide'
$x = "aa;aa" ; Comment-line
$x = "a" ;$x='b'
$;x = "aa;aa" ; Comment-line
$x=' '' '';'' ";" "'' ''" "''"' ; chaîne "vide"
$x=' '' '';'' ";" "'' ''" "''"' ; chaîne 'vide'
$x=" ' ';' "";"" ""' '"" ""'""" ; chaîne "vide"
$x=" ' ';' "";"" ""' '"" ""'""" ; chaîne 'vide'
"" ; commentaire
$x = 'bb;b'
$x = "bb;b"
$x = " " & "bb"
;;;;
; ; ;";'
";iii
';uuu;uuu";uuu';aa
; test
" i " ; a ; a
" i " ; ; a ; a
" i " ; a ; a ; a
`
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/