我正在使用goalng来做一些模板,并希望摆脱外部标签。 如下:
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`
提前感谢!
答案 0 :(得分:1)
您可以使用以下内容获得所需的输出。
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
}