package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?ms)\/\*.*?\*\/(*SKIP)^|\/\/.*?$(*SKIP)^|'(?>\\?.)*?'(*SKIP)^|"(?>\\?.)*?"`)
var str = `$str = "this is something";
$str = "this is {$another}";
$str = "could be {$hello['world']}";
$str = "and $hello[world] another";
$str = "building <div style=\"width: 100%\" data-var=\"{$var}\"></div>";
$str = '<elem prop="' . $var . '">';
$str = '<div class="my-class ' . $my_var_class . ' my-other-class">';
$str = "'single quotes in double quotes'";
$str = '"double quotes in single quotes"';
$xml .= " <$schemaPrefix:import location=\"" . $ii['location'] . '" namespace="' . $ns . "\" />\n";
// this is it's own comment with an apostrophe
$str = "'single quote'"; $str = '"double quote"';
/* comment's apostrophe */ $str = "'single quote'"; $str = '"double quote"';
/* comment's apostrophe */ $str = '"double quote"'; $str = "'single quote'";
$str = '"double quote\'d apostrophe"';
$str = "double quote'd apostrophe"; $str = "'single quote'"; $str = '"double quote"';
$str = "double quote'd apostrophe"; $str = '"double quote"'; $str = "'single quote'";
// this is it"s own comment with a double quote
$str = "'single quote'"; $str = '"double quote"';
/* comment"s 2 quote */ $str = "'single quote'"; $str = '"double quote"';
/* comment"s 2 quote */ $str = '"double quote"'; $str = "'single quote'";
$str = '"double quote\'d apostrophe"';
$str = "double quote'd apostrophe"; $str = "'single quote'"; $str = '"double quote"';
$str = "double quote'd apostrophe"; $str = '"double quote"'; $str = "'single quote'";`
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/