求匹配EPUB页脚元素的正则表达式(Calibre工具适用)
匹配并删除EPUB页脚的正则解决方案
目标正则表达式
直接使用以下表达式即可匹配你描述的所有页脚:
<p class="calibre1">(?:[1-9]\d{0,2}|1000) <> .*?<\/p>
表达式拆解
<p class="calibre1">:精准匹配页脚所在的p标签开头(?:[1-9]\d{0,2}|1000):匹配1-1000的页码([1-9]\d{0,2}覆盖1-999,1000单独匹配最大值)<>:匹配页码与标题之间固定的分隔符(注意是两个空格+<>+两个空格,和你的示例格式完全对应).*?:非贪婪匹配任意字符(对应章节标题内容,避免误匹配到后续的其他标签)<\/p>:匹配标签结尾
你的旧表达式问题分析
[0-9]只能匹配单个数字,无法匹配多位数页码(比如10、100)[^>]和[\w]仅匹配单个字符,而章节标题是包含空格、大写字母的多字符文本- 其余表达式完全偏离了页脚的固定格式,自然无法匹配
Calibre操作步骤
- 打开Calibre书籍编辑器,进入查找替换功能
- 勾选「使用正则表达式」选项
- 将上述正则填入「查找」框,「替换」框留空
- 执行替换即可删除所有符合格式的页脚
内容的提问来源于stack exchange,提问作者Mike Bee
相关产品推荐
相关产品推荐

