欢迎光临散文网 会员登陆 & 注册

开源阅读进阶教程&正则替换五步走(上)

2022-08-24 02:42 作者:本雁霜晨月  | 我要投稿

写在前面:

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

一、分析——分析固定成分(“固定的”部分)

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.更改内容→“替换为”填入修改后的内容,如示例⑤

开源阅读进阶教程&正则替换五步走(上)的评论 (共 条)

分享到微博请遵守国家法律