关于正则表达式的问题,批量修改有相同内容的行

2023-10-13 21:05:59 +08:00
 lastcode
想做个 epub 的电子书,有什么办法能批量的给每章章节名两边加上[h1] [/h1]的标签

章节名格式是这样的

第一章 xxxxxxx

批量把章节名加上标题的标签,变成[h1] 第一章 xxxxxxx[/h1]
1280 次点击
所在节点    HTML
3 条回复
kxks145
2023-10-13 21:13:47 +08:00
(第.+?章 .+)替换成[h1]\1[/h1]
lastcode
2023-10-13 22:07:43 +08:00
@kxks145 谢谢!
netabare
2023-10-15 06:55:37 +08:00
用`()`和`$x`(这里的 x 是数字,从 1 开始)来替换。

假设你这里每一个标题都是单独一行的话,那么每一行只捕获一次匹配,那么需要的就是先提取出每一个标题:

`(^第.*章.*$)` - 这里`^`假设标题紧跟着每行开头开始,如果不是的话就要去掉,如果每个标题有更多特征,比如有固定字数,可以进一步限定进去

然后在替换栏里面输入要替换后的模式,括号里面括住的部分用`$1`来指代,那么就是:

`[h1]$1[\\h2]` - h2 前面的反斜杠要转义一下(有的语言里可能会不一样)。

如果 op 有用 IDEA 的话,可以试试用 IDEA ,里面会对正则表达式替换有预览的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/981838

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX