正则表达式是一个包含普通文本加上指示为扩展特殊字符的搜索字符串的搜索选项。正则表达式允许更多的高级搜索和替换。例如,您可以使用正则表达式“[0-9]”查找任何的数字。同样地您可以使用正则表达式“[^0-9]”查找任何匹配的非数字的字符。在查找、替换以及在文件中查找命令中,EditPlus 支持下列的正则表达式。表达式 描述\\t 制表(跳格)字符。\\n 换行。匹配任何字符。在它的左边和右边的任何一个表达式匹配目标字符串。例如“a|b”匹配“a”和“b”。[]括号内的任何字符可能匹配目标字符。例如“[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”。()影响表达式的计算顺序同时也用来标记表达式。\\ 转义字符。若您要使用字符“\\”本身,您必须使用“\\\\”。已标记的表达式是由()围住的。标记的表达式可以被 \\0、\\1、\\2、\\3 等引用。\\0 指示一个匹配完整子串的标记的表达式。\\1 指示第一个标记的表达式,\\2 是第二个,等等。查看下列的例子。原文 替换 结果abc(ab)(c)\\0-\\1-\\2 abc-ab-cabca(b)(c)\\0-\\1-\\2 abc-b-cabc(a)b(c)\\0-\\1-\\2 abc-a-cwww.zgxue.com防采集请勿采集本网。
从网上收集的文章大多有大量多余的空行,占据了许多篇幅,如果需要打印就非常浪费纸张。想要删除这些空行,可是这些空行要么不包含任何字符,要么包含了许多空格、制表符(Tab)。如果文章比较长,那么手工删除空行就成为一件颇费精力的事情。难道就没有别的办法?当然有!
我们可以借助文本编辑器软件EditPlus、UltraEdit实现。EditPlus、UltraEdit是常见的共享软件,几乎所有软件下载网站都提供下载。由于EditPlus的操作更容易上手,但UltraEdit更为常用,所以本文先介绍在EditPlus中的操作,再介绍UltraEdit。
editplus正则里的.号是不能匹配 \\n所以要匹配里面的 xfgfj jghk hljgfjghj fdhfjghjkhklhl hgjlgkiyug okokokokok 此类干扰项要明确行数,例如 \\n.*\\nokokokokok 此外要注意每行的回车前,有没有空格,我试
一、在EditPlus中删除空行
按Ctrl+H \\n\\n 全部替换成(替换两次就行了,\\n是换行的意思) \\n 要在“正则表达式”前面打上勾 不想每次都手动跳到开头就在“在文本末尾折回”前面打上勾
启动EditPlus,打开待处理的文件。需要注意,必须是纯文本文件,如果是Word文档,需要先粘贴到纯文本文件中。然后,步骤如下:
有参考价值。还好,editplus搞不定的话我可以自己用java
1.选择“搜索”菜单的“替换”命令,出现如图所示的文本替换对话框。选中“正则表达式”复选框,表明我们要在查找、替换中使用正则表达式。然后,选中“全部替换范围”中的“当前文件”,表明对当前文件操作。(提示:可以同时打开多个文件进行操作,只要选中“所有打开的文件”)。
([0-9]+) 替换
2.单击“查找内容”组合框右侧的按钮 ,出现下拉菜单,如下图所示。菜单命令中,本文用得着的命令依次是:制表符、换行、范围内的字符、行首、0或多次匹配。
editplus是吧 查找([a-z]+)([A-Z]) 替换为 \\1_\\2
下面的操作添加正则表达式,该表达式代表待查找的空行。(技巧提示:空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。
(1)选择“行首”,则查找内容组合框中出现字符“^”,表示待查找的字符串必须出现在文本中一行的行首,才符合条件。
(2)选择“范围内的字符”,“^”后增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。
(3)按一下空格键,添加空格符。空格符是空行的一个组成成分。
(4)选择“制表符”,添加代表制表符的“\t”。
(5)移动光标,将当前插入点移到“]”之后,然后选择“0或多次匹配”,添加了星号字符“*”。星号表示,其前面的括号“[]”内的空格符或制表符,在一行中出现0个或多个。
(6)选择“换行”,插入“\n”,表示回车符。
至此,正则表达式构造成功(如下图)。
3.替换内容组合框保持空,表示删除查找到的内容。单击“替换”按钮逐个行删除空行,或单击“全部替换”按钮删除全部空行(注意:EditPlus和UltraEdit均存在全部替换不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。
对于熟悉EditPlus的朋友,可以直接在Find what中输入正则表达式^[ \t]*\n ,注意\t前有空格符。
二、在UltraEdit中删除空行
使用UltraEdit的原理一样,但是UltraEdit没有提供菜单方式,所以需要手工输入正则表达式,而且UltraEdit的正则表达式符号与EditPlus不同。
用UltraEdit打开文件后,选择Search菜单的Replace命令。在Replace对话框中,选中Regular Expression复选框,并在Find what中输入:%[ ^t]++^p,注意^t之前有空格。该表达式字符含义与EditPlus的相对应。然后,单击Start或Replace All按钮,进行替换删除空行。
查找内容:([1234567890][1234567890])\\n\\n替换内容:\\1如下图,主要要editplus 的正则替换功能不怎么样,不能用\\d \\w 那些,贪婪模式也不管用所以这个正则局限性很大,多加个换行符什么的就替换不了,建议用notepad+比较好内容来自www.zgxue.com请勿采集。