以下是在线正则测试中的输入输出:
![TIM截图20180205145850.png](https://static.studygolang.com/180205/ec28e1f98897ddef843cb5421a713214.png)
可是用go去执行就出现错误了,输出有问题,单单输出`$1`或者`第$1`是没问题的,但是`$1章`和`第$1章`是有问题的,头疼了挺久,求解析。
代码:
s := "第1节,第2节,第3节,第4节,第5节,第6节,第7节,第8节,第9节"
r, _ := regexp.Compile(`第([0-9])节`)
s = r.ReplaceAllString(s, `第$1章`)
fmt.Println(s) // 第,第,第,第,第,第,第,第,第
*题外话:*原谅我不会陈述问题,像这种问题,如果你想去谷歌,该怎么搜,我是类似这样搜的:“go 正则替换$结果错误”,应该$是功能符或者防止xxs被屏蔽了,所以搜不出想要的结果。 -- 一个很喜欢谷歌,但是经常遇到类似问题不会简短陈述问题的小惆怅
``s = r.ReplaceAllString(s, `第$1章`)`` 替换成 ``s = r.ReplaceAllString(s, `第${1}章`)``
#1
更多评论