网络上的小说总是格式比较糟糕,需要进行整理才看起来舒服一些。
整理的过程中也遇到一些问题,我用的是 VS2005、C#,C# 对正则的支持很到位,甚至包含一些其它语言如 Perl 所没有的特殊功能,下面是相关表达式:
删除空行
[\s ]*(?=\r\n)
,要注意这个表达式中包含了一个全角的空格。在 Editplus 中还推荐了另一种写法,不过没有采用,是这样的:^[ \t]*\n
(注意 \t
前有一个空格,当然愿意的话也可以和第一种一样包含一个全角空格),这种写法用C#的正则表达式测试器来测试的时候并不有效。而前一种写法在 Editplus 中则好像不能够支持,另外 Editplus 好像对?=、?!、?<=、?<!
这几种高级部分内容的支持也不存在。
当然Editplus的最大好处之一就是能够同时替换打开的多个文件,这点真的比较有用。
双引号问题
在小说中经常由于排版原因会出现““
这样两个连续的起始直角双引号,这时候要注意表达式的写法,如果直接用(“.+)“
这样写法会导致匹配出现错误,本来想非贪婪是否能够解决,似乎没有什么作用,只好取个巧,用下面的表达式完成:(“[^“]+)“
,这个表达式 Editplus 也支持,所以效果还是不错的。
此外,Frontpage2003 对于正则也提供简单支持,只是它的语法与传统的正则语法有些出入,提供的功能也比较简单,但对于简单的工作它还是有很大作用的,配合它提供的“html代码格式重新设置”功能,可以简化许多通过程序也比较不容易完成的任务。
Notepad++
用 Notepad++ 打开(注:^
代表行首,$
代表行尾)
- 去除行尾空格和空白行:按CTRL+H选择正则表达式 - 查找目标:
\s+$
替换为空; - 去除行首空格:按CTRL+H选择正则表达式 - 查找目标:
^\s+
替换为空; - 空行:
\r\n
,^\r\n
,或者安装TextFX
插件;