package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)US\s*(?:[2-9]\d{3}\/?\d{7}\s*A[129]|\d{7}\s*B[12])`)
var str = `发明专利申请号 1-6 位顺序号或 2 位序列号
(01-28)+/6 位顺序号 1234 13/001234
发明专利临时申请号 60+/6 位顺序号或 61/+/6 位
顺序号 60/001234 61/000456
发明专利申请公布号 US+4 位年代+/7 位顺序号
+A1
无 US 2001/0001111 A1
发明专利申请再公布号 US+4 位年代+/7 位顺序号
+A2
无 US 2002/0042300 A2
发明专利申请公布的更
正号
US+4 位年代+/7 位顺序号
+A9
无 US 2002/0090260 A9
发明专利号(无专利申
请公布)
1-7 位顺序号或 US+1-7 位顺
序号+B1
123456 US 6198606 B1
发明专利号(有专利申
请公布)
US+1-7 位顺序号+B2 无 US 6654321 B2
`
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/