寻找错误的引用字符串的正则表达式



我试图为带有起始报价但没有结束引用的sub字符串构建正则表达式。以下是一个示例字符串

"The fish was 2 long. I said: Give me that fish!.
The fish was 2" long. I said: Give me that fish!.
"The fish was 2 long. I said: Give me that fish!."
The fish "was 2 long". I said: "Give me that fish!.

因此,表达式的有效输出将为

String 1 - The fish was 2 long. I said: Give me that fish!
String 2 -  long. I said: Give me that fish!.
String 3 - No output
String 4 - Give me that fish!.

我如何构建正则表达式的任何想法。

可以用正则表达式完成所有操作。.将需要更多时间才能完善解决方案。但是使用某些字符串功能将使您变得容易。

希望这会有所帮助!

package main
import (
"fmt"
"regexp"
"strings"
)
func main() {
str := `
    "The fish was 2 long. I said: Give me that fish!.
The fish was 2" long. I said: Give me that fish!.
"The fish was 2 long. I said: Give me that fish!."
""sdfsdf
`
splitStr := strings.Split(str, "n")
re := regexp.MustCompile(`"{1}[A-Za-z0-9 .:!]+"{0}[A-Za-z0-9 .:!]+$`)
for _,v := range splitStr {
    if len(strings.Trim(v, " ")) >= 0{
    // some extra check
    if strings.Count(v, """) % 2 == 1 {
        fmt.Println( re.FindString(v))
    }
    } 
}

}

代码示例可在此处提供:https://play.golang.org/p/lyte6frocv3

最新更新