开源阅读进阶教程&正则替换五步走(上)
写在前面:
正则表达式是对文本内容进行批量处理的一种方式,它通过赋予一些字符特殊含义来组合形成各种各样的效果,类似于编程语言。其使用要点在于把握“固定的”与“可变的”两个部分的平衡,“固定的”部分常以穷举的方式用于精准定位和限制作用于正文内容的范围,“可变的”部分常以通配符的方式用于匹配不固定内容实现批量化的效果,二者平衡的关键在于尽量使正则表达式对正常内容的影响最小。

一、分析——分析固定成分(“固定的”部分)
1.网站广告
多以文字广告或网址的形式,而文字广告大致以“固定话术+其他”的形式组成,网址是以http:或https:开头的一连串含字母、数字、点、斜线等内容的形式组成,大部分可穷举。
2.作者的话
有些是固定以ps:开头的话语,有些是包含感谢打赏或支持、求票求订阅、请假等固定词语的话语,这些固定内容可以穷举。
3.和谐字词
多以字母缩写、代称或拼音等形式。每个个例都形式固定且单一,可穷举。
4.其余形式
正文内容出现重复,段落不完整换行等其他更复杂的形式。需具体情况具体分析,后续视频详解。
二、匹配——编写替换规则(“可变的”部分)

1.网站广告
示例①:匹配纯网址
原文:http://www.baidu.com
小白写法:http[::]\/{2}w{3}\.baidu\.com
简略写法:http[::]\/\/[a-z\.]+
完整写法:(?i)https?[::]\/{2}[a-z\.\/\?\-#\d]+
示例②:匹配文字广告
原文:《书名》单独一段
小白写法:《.*》
完整写法:(?<=[ \s])《.*》(?=\s)
2.作者的话
示例③:匹配ps内容
小白写法:ps:.*
完整写法:(?i)(?<=[ \s])[\(\(【]?ps[1-9]?[::].*
示例④:匹配其他形式
原文:(多谢/感谢)书友xx的(鲜花/打赏/刀片)
替换规则:[感多]谢.*(鲜花|打赏|刀片)
3.和谐字词
示例⑤:拼音或字母缩写
原文一:你的(jiao/jiǎo/jio)很臭
小白写法:jiao|jiǎo|jio
完整写法:(?i)ji[aǎ]?o(?![a-zA-Z_])
替换为:脚
原文二:梅hua/荷huā/hua朵/huā枝
小白写法:hua|huā
完整写法:(?i)(?<=[梅荷])hu[aā](?![a-z])|hu[aā](?=[朵枝])
替换为:花
4.其他形式见后续视频单独讲解。前面初学小白写法与完整写法的区别见后续视频详细解读。
三、填充——填写订正内容
1.删除内容→“替换为”不填,如示例①②③④
2.更改内容→“替换为”填入修改后的内容,如示例⑤