用正则表达式优化网络小说内容

打算分享一本网络小说,但是打开一看,额外添加的内容很多。普通的查找替换大多数情况下体力劳动巨大,所以需要学习正则表达式的替换法。
编辑器我用Notepad++。接下来就边实战边清理文章中的“干扰”,在查找替换中选择查找模式为『正则表达式』

  • 去掉各大网站的手打申明

比较规矩的网站在每一章后头留一个“某某网站 及时手打”,比较烦的是那个搞个随机符到中间,每次你搜索只能找到一个。
例如:
uU书擝 uUTxT。CoM 全文自扳粤读
優悠书盟 uUtXt.COm 全汶字坂阅渎
優悠书盟 uuTXt。CoM 诠汶字坂阅读
悠u書盟 uutxT。CoM 诠蚊吇坂越镀
总结它这个“烂尾”的特点,一定都包含网址,不停的变换大小写上标、下标或者中间加空格,但是不管怎样都包含了网址的字母,即使是单个的也可以定位。

查找内容:.*[UTXCOM].*
替换为空:

其中,符号的含义如下:
“.” =匹配任意字符
“*” =匹配0次或更多
[] 匹配列表之中的任何单个字符. 例如, “[ab]” 匹配 “a” 或者 “b”. “[0-9]” 匹配任意数字.

  • 删除掉包含更新和作者感慨的内容

这些内容一般在括号之内,为了避免误杀,采集括号开头和结尾的部分。
例如:
(吼吼,第二章到~~~)
(第一章到,今日还有第二章!同时女主角也会登场哦……)
(第二章到,月初,大家帮蕃茄投张月票,支持蕃茄吧~~~~)
(第一章到!下一章努力写中……)

查找内容:(.*番茄.*)和(.*更新.*)或(.*第.*章.*)再或者(.*第.*更.*)
替换为空:

  • 删除每一章开头的字数统计

例如:
第四集星辰变 第二十二章 伍德之死 字数:5076
第四集星辰变 第二十三章 战于乌江之上 字数:5006

查找内容:字数:[0-9][0-9][0-9][0-9]
替换为空:

用法释义:“[0-9]”表示匹配0~9之间的任何特例,同样“[a-z]”就表示匹配a~z之间的任何特例

  • 删除特定文字开头的行

例如:
更新时间2011-1-19 10:09:34  字数:3039
查找内容:^更新.*[2011].*
替换为空:
用法释义:用“^”来实现从行首开始匹配,[]包含特定的数字,加上这个可以避免误伤。

附注:表达式 说明

\t 制表符.
\n 新行.
. 匹配任意字符.
| 匹配表达式左边和右边的字符. 例如, “ab|bc” 匹配 “ab” 或者 “bc”.
[] 匹配列表之中的任何单个字符. 例如, “[ab]” 匹配 “a” 或者 “b”. “[0-9]” 匹配任意数字.
[^] 匹配列表之外的任何单个字符. 例如, “[^ab]” 匹配 “a” 和 “b” 以外的字符. “[^0-9]” 匹配任意非数字字符.
* 其左边的字符被匹配任意次(0次,或者多次). 例如 “be*” 匹配 “b”, “be” 或者 “bee”.
+ 其左边的字符被匹配至少一次(1次,或者多次). 例如 “be+” 匹配 “be” 或者 “bee” 但是不匹配 “b”.
? 其左边的字符被匹配0次或者1次. 例如 “be?” 匹配 “b” 或者 “be” 但是不匹配 “bee”.
^ 其右边的表达式被匹配在一行的开始. 例如 “^A” 仅仅匹配以 “A” 开头的行.
$ 其左边的表达式被匹配在一行的结尾. 例如 “e$” 仅仅匹配以 “e” 结尾的行.
() 影响表达式匹配的顺序,并且用作表达式的分组标记.
\ 转义字符. 如果你要使用 “\” 本身, 则应该使用 “\\”.

2 thoughts on “用正则表达式优化网络小说内容

    1. 维基百科的解释是:指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。

Comments are closed.