package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(?:```(?:[^`](?!\n\n))+?```|`(?:[^`](?!\n\n))+?`)`)
var str = `Here we are going to be looking for \`single-line inline code\` and \`\`\`Code\`\`\`
This \`is code
test\`
This \`is not code
test\`
\`\`\`This is code
| variable | required |
|:-----------|:--------:|
| email | yes |
| first_name | yes |
| last_name | yes |
| website | no |
\`\`\`
\`\`\`This is not code
| variable | required |
|:-----------|:--------:|
| email | yes |
| first_name | yes |
| last_name | yes |
| website | no |
\`\`\`
\`\`\`Code
| variable | required |
|:-----------|:--------:|
| first_name | no |
| last_name | no |
| website | no |
\`\`\`
`
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/