package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^[a-zA-Z]:\\(((?![<>:"\/\\|?*]).)+((?<![ .])\\)?)*$`)
var str = `C
C:
C:/
C://
C:\
C:\\
C:\Documents\Newsletters\Summer2018.pdf
\Program Files\Custom Utilities\StringFinder.exe
2018\January.xlsx
..\Publications\TravelBrochure.pdf
C:\Projects\apilibrary\apilibrary.sln
C:Projects\apilibrary\apilibrary.sln
\\system07\C$\
\\Server2\Share\Test\Foo.txt
\\.\C:\Test\Foo.txt
\\?\C:\Test\Foo.txt
C:\utilities\filecompare\
c:\utilities\filecompare\
\\Server\Share
`
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/