regex 如何在golang中将包含搜索词的行与段落分开

fquxozlt  于 2023-01-06  发布在  Go
关注(0)|答案(1)|浏览(101)

我有一个多行字符串。我正在寻找一个方法来显示只包含搜索词的行。

`testStr := "This is first line. This is second line. This is third line."
    word := "second"
    re := regexp.MustCompile(".*" + word + ".")
    testJson := re.FindStringSubmatch(testStr)
    fmt.Println(testJson[0])`

我得到的结果是“这是第一行。这是第二行”,但我期待的是“这是第二行”

8aqjt8rx

8aqjt8rx1#

使用以下正则表达式:

re := regexp.MustCompile(`[^.]*` + word + `[^.]*\.`)

分解:

  • 没有句号的匹配序列:第一个月
  • 匹配单词
  • 没有句号的匹配序列:[^.]*
  • 匹配句号\.

https://go.dev/play/p/GCwG5Fup7QE

相关问题