【替换文本】中用正则匹配到的【查找内容】,如何在【替换为】里继续使用?

动作开发 · 773 次浏览
NoahWong 创建于 2021-03-11 20:14

原文本:

---------

1.苹果

Apple

2.香蕉

Banana

---------

比方说,我用正则 (1|2|3)\..* 能够查找到 1.苹果

我希望能够自动替换为 <h4>1.苹果</h4> 这种两边加了格式的

那我该如何在【替换为】里面填写呢?


回复内容
CL 2021-03-11 20:29
#1

需要看下正则相关教程。 一般是$1表示第一个匹配到的分组,以此类推。

NoahWong 2021-03-11 20:35 :

正则教程里用到的是 \1 这种,但是无论是 \1 还是你说的 $1 都没用,会把文本替换成了 1


NoahWong 最后更新于 2021-03-11 20:36
CL 回复 NoahWong 2021-03-11 20:37 :

先要搞清楚“组”的概念,你用的正则第一个组只匹配到1

NoahWong 回复 CL 2021-03-11 20:39 :

我...我不是很懂,我只是想知道怎么写才能实现想要的效果...

CL 回复 NoahWong 2021-03-11 20:41 :

我也不是很懂😂 每次用都要现查教程的,用完就忘了。大概是用括号定义组的,这个你还是找个教程弄明白比较好。https://deerchao.cn/tutorials/regex/regex.htm#grouping 

NoahWong 回复 CL 2021-03-11 20:42 :

好吧,感谢

CL 回复 NoahWong 2021-03-11 20:44 :

对于这个问题你也可以拆分成列表后,每一项两边增加内容后再添加到另一个列表里,避免使用正则。

NoahWong 回复 CL 2021-03-11 20:46 :

好的,我试试

Cesar 2021-03-11 21:44
#2

用$&

NoahWong 2021-03-11 21:46 :

成了!成了!感谢!就是为啥会换行


Cesar 2021-03-11 21:44
#3


Cesar 2021-03-11 21:48
#4

(1|2|3)\..* 换成 (?m)(1|2|3)\..*(?=\r?$)

NoahWong 2021-03-11 21:51 :

结果还是一样的,仍然会换行


NoahWong 2021-03-11 21:52 :

好了,我用这个 (?m)(1|2|3)\..*(?=\r) 就没问题了,感谢

NoahWong 最后更新于 2021-03-11 21:53
回复主贴