为了账号安全,请及时绑定邮箱和手机立即绑定

使用 golang 和 regexp 去掉外部标签?

使用 golang 和 regexp 去掉外部标签?

Go
达令说 2021-09-13 10:15:38
我正在使用目标来做一些模板,并想摆脱外部标签。如下:  input := `aaa<div><dxh r="4" spans="1:15"><c r="A4" s="7"><v>{{4567}}</v></c><c r="B4" t="s" s="7"><v>11</v></c><c r="C4" t="s" s="7"><v>12</v></c><c r="M4" t="s" s="8"><v>20</v></c></dxh>aaa</div>bbb<dxh>{{12345}}</dxh>amrambler`我想得到字符串。它省略了标签"<dxh ....>", "</dxh>"。并且只保留它们之间的内容,"{{4567}}"并且"{{12345}}"str=`aaa<div>{{4567}}aaa</div>bbb{{12345}}amrambler`提前致谢 !
查看完整描述

1 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

您可以使用以下内容来获得所需的输出。


package main


import (

   "fmt"

   "regexp"

)


func main() {

    re := regexp.MustCompile("(?s)<dxh[^>]*>.*?({{[^}]*}}).*?</dxh>")


    input := `aaa<div><dxh r="4" spans="1:15"><c r="A4" s="7"><v>{{4567}}

              </v></c><c r="B4" t="s" s="7"><v>11</v></c><c r="C4" t="s" s="7"><v>12</v>

              </c><c r="M4" t="s" s="8"><v>20</v></c></dxh>aaa</div>bbb<dxh>{{12345}}

              </dxh>amrambler`


    res := re.ReplaceAllString(input, "$1")

    fmt.Println(res) // aaa<div>{{4567}}aaa</div>bbb{{12345}}amrambler  

}


查看完整回答
反对 回复 2021-09-13
  • 1 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信