開源閱讀進階教程&正則替換五步走(上)
寫在前面:
? ? ? 正則表達式是對文本內(nèi)容進行批量處理的一種方式,它通過賦予一些字符特殊含義來組合形成各種各樣的效果,類似于編程語言。其使用要點在于把握“固定的”與“可變的”兩個部分的平衡,“固定的”部分常以窮舉的方式用于精準定位和限制作用于正文內(nèi)容的范圍,“可變的”部分常以通配符的方式用于匹配不固定內(nèi)容實現(xiàn)批量化的效果,二者平衡的關鍵在于盡量使正則表達式對正常內(nèi)容的影響最小。

一、分析——分析固定成分(“固定的”部分)
1.網(wǎng)站廣告
? ? ? ?多以文字廣告或網(wǎng)址的形式,而文字廣告大致以“固定話術+其他”的形式組成,網(wǎng)址是以http:或https:開頭的一連串含字母、數(shù)字、點、斜線等內(nèi)容的形式組成,大部分可窮舉。
2.作者的話
? ? ? ?有些是固定以ps:開頭的話語,有些是包含感謝打賞或支持、求票求訂閱、請假等固定詞語的話語,這些固定內(nèi)容可以窮舉。
3.和諧字詞
? ? ? ?多以字母縮寫、代稱或拼音等形式。每個個例都形式固定且單一,可窮舉。
4.其余形式
? ? ? ?正文內(nèi)容出現(xiàn)重復,段落不完整換行等其他更復雜的形式。需具體情況具體分析,后續(xù)視頻詳解。
二、匹配——編寫替換規(guī)則(“可變的”部分)

1.網(wǎng)站廣告
示例①:匹配純網(wǎng)址
原文:http://www.baidu.com
小白寫法:http[::]\/{2}w{3}\.baidu\.com
簡略寫法:http[::]\/\/[a-z\.]+
完整寫法:(?i)https?[::]\/{2}[a-z\.\/\?\-#\d]+
示例②:匹配文字廣告
原文:《書名》單獨一段
小白寫法:《.*》
完整寫法:(?<=[ ? \s])《.*》(?=\s)
2.作者的話
示例③:匹配ps內(nèi)容
小白寫法:ps:.*
完整寫法:(?i)(?<=[ ? ?\s])[\(\(【]?ps[1-9]?[::].*
示例④:匹配其他形式
原文:(多謝/感謝)書友xx的(鮮花/打賞/刀片)
替換規(guī)則:[感多]謝.*(鮮花|打賞|刀片)
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.其他形式見后續(xù)視頻單獨講解。前面初學小白寫法與完整寫法的區(qū)別見后續(xù)視頻詳細解讀。
三、填充——填寫訂正內(nèi)容
1.刪除內(nèi)容→“替換為”不填,如示例①②③④
2.更改內(nèi)容→“替換為”填入修改后的內(nèi)容,如示例⑤