Posts tagged EditPlus

在EditPlus中删除空行

0

经常从网上粘贴或下载一篇文章,需要打印时,发现有大量多余的空行占据了许多篇幅,需要删除。这些空行要么不包含任何字符,要么包含了许多空格、制表符(Tab)。如果文章比较长,那么手工删除空行就成为一件颇费鼠标和精力的事。难道就没有别的办法?答案是:有!

  我们可以借助文本编辑器软件EditPlus、UltraEdit实现。EditPlus、UltraEdit是常 见的共享软件,几乎所有软件下载网站都提供下载。由于EditPlus的操作更容易上手,但UltraEdit更为常用,所以本文先介绍在EditPlus的操作,再介绍UltraEdit。

  一、在EditPlus中删除空行
  启动EditPlus,打开待处理的文件。需要注意,必须是纯文本文件,如果是Word文档,需要先粘贴到纯文本文件中。然后,步骤如下:搜索-替换-正则表达式-当前文件-点击查找内容后面的向下箭头-选单-行首-范围内的字符-制表符-0或多次匹配-换行-形成^[t]*n
  Replace with组合框保持空,表示删除查找到的内容。单击Replace按钮逐个行删除空行,或单击Replace All按钮删除全部空行(注意:EditPlus和UltraEdit均存在Replace All不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。  对于熟悉EditPlus的朋友,可以直接在Find what中输入正则表达式^[ ]* ,注意 前有空格符。

  二、在UltraEdit中删除空行
  使用UltraEdit的原理一样,但是UltraEdit没有提供菜单方式,所以需要手工输入正则表达式,而且UltraEdit的正则表达式符号与EditPlus不同。
  用UltraEdit打开文件后,选择Search菜单的Replace命令。在Replace对话框中,选中Regular Expression复选框,并在Find what中输入:%[ ^t]++^p,注意^t之前有空格。该表达式字符含义与EditPlus的相对应。然后,单击Start或Replace All按钮,进行替换删除空行

EDITPLUS 揭开正则表达式的神秘面纱

0

引言
正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 ‘a’ 和 任意个 ‘b’ ”,那么 ‘ab’, ‘abb’, ‘abbbbbbbbbb’ 都符合这个特征。

正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。(3)用来替换,比普通的替换更强大。

正则表达式学习起来其实是很简单的,不多的几个较为抽象的概念也很容易理解。之所以很多人感觉正则表达式比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难;另一方面,各种引擎自带的文档一般都要介绍它特有的功能,然而这部分特有的功能并不是我们首先要理解的。

文章中的每一个举例,都可以点击进入到测试页面进行测试。闲话少说,开始。

——————————————————————————–

1. 正则表达式规则
1.1 普通字符
字母、数字、汉字、下划线、以及后边章节中没有特殊定义的标点符号,都是”普通字符”。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。

举例1:表达式 “c”,在匹配字符串 “abcde” 时,匹配结果是:成功;匹配到的内容是:”c”;匹配到的位置是:开始于2,结束于3。(注:下标从0开始还是从1开始,因当前编程语言的不同而可能不同)

举例2:表达式 “bcd”,在匹配字符串 “abcde” 时,匹配结果是:成功;匹配到的内容是:”bcd”;匹配到的位置是:开始于1,结束于4。

——————————————————————————–

1.2 简单的转义字符
一些不便书写的字符,采用在前面加 “” 的方法。这些字符其实我们都已经熟知了。

表达式
可匹配

r, n
代表回车和换行符

t
制表符

\
代表 “” 本身

还有其他一些在后边章节中有特殊用处的标点符号,在前面加 “” 后,就代表该符号本身。比如:^, $ 都有特殊意义,如果要想匹配字符串中 “^” 和 “$” 字符,则表达式就需要写成 “^” 和 “$”。

表达式
可匹配

^
匹配 ^ 符号本身

$
匹配 $ 符号本身

.
匹配小数点(.)本身

这些转义字符的匹配方法与 “普通字符” 是类似的。也是匹配与之相同的一个字符。

举例1:表达式 “$d”,在匹配字符串 “abc$de” 时,匹配结果是:成功;匹配到的内容是:”$d”;匹配到的位置是:开始于3,结束于5。

——————————————————————————–

1.3 能够与 ‘多种字符’ 匹配的表达式
正则表达式中的一些表示方法,可以匹配 ‘多种字符’ 其中的任意一个字符。比如,表达式 “d” 可以匹配任意一个数字。虽然可以匹配其中任意字符,但是只能是一个,不是多个。这就好比玩扑克牌时候,大小王可以代替任意一张牌,但是只能代替一张牌。

表达式
可匹配

d
任意一个数字,0~9 中的任意一个

w
任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个

s
包括空格、制表符、换页符等空白字符的其中任意一个

.
小数点可以匹配除了换行符(n)以外的任意一个字符

举例1:表达式 “dd”,在匹配 “abc123″ 时,匹配的结果是:成功;匹配到的内容是:”12″;匹配到的位置是:开始于3,结束于5。

举例2:表达式 “a.d”,在匹配 “aaa100″ 时,匹配的结果是:成功;匹配到的内容是:”aa1″;匹配到的位置是:开始于1,结束于4。

——————————————————————————–

1.4 自定义能够匹配 ‘多种字符’ 的表达式
使用方括号 [ ] 包含一系列字符,能够匹配其中任意一个字符。用 [^ ] 包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。

表达式
可匹配

[ab5@]
匹配 “a” 或 “b” 或 “5″ 或 “@”

[^abc]
匹配 “a”,”b”,”c” 之外的任意一个字符

[f-k]
匹配 “f”~”k” 之间的任意一个字母

[^A-F0-3]
匹配 “A”~”F”,”0″~”3″ 之外的任意一个字符

举例1:表达式 “[bcd][bcd]” 匹配 “abc123″ 时,匹配的结果是:成功;匹配到的内容是:”bc”;匹配到的位置是:开始于1,结束于3。

举例2:表达式 “[^abc]” 匹配 “abc123″ 时,匹配的结果是:成功;匹配到的内容是:”1″;匹配到的位置是:开始于3,结束于4。

——————————————————————————–

1.5 修饰匹配次数的特殊符号
前面章节中讲到的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符其中任意一个的表达式,都只能匹配一次。如果使用表达式再加上修饰匹配次数的特殊符号,那么不用重复书写表达式就可以重复匹配。

使用方法是:”次数修饰”放在”被修饰的表达式”后边。比如:”[bcd][bcd]” 可以写成 “[bcd]{2}”。

表达式
作用

{n}
表达式重复n次,比如:”w{2}” 相当于 “ww”;”a{5}” 相当于 “aaaaa”

{m,n}
表达式至少重复m次,最多重复n次,比如:”ba{1,3}”可以匹配 “ba”或”baa”或”baaa”

{m,}
表达式至少重复m次,比如:”wd{2,}”可以匹配 “a12″,”_456″,”M12344″…

?
匹配表达式0次或者1次,相当于 {0,1},比如:”a[cd]?”可以匹配 “a”,”ac”,”ad”

+
表达式至少出现1次,相当于 {1,},比如:”a+b”可以匹配 “ab”,”aab”,”aaab”…

*
表达式不出现或出现任意次,相当于 {0,},比如:”^*b”可以匹配 “b”,”^^^b”…

举例1:表达式 “d+.?d*” 在匹配 “It costs $12.5″ 时,匹配的结果是:成功;匹配到的内容是:”12.5″;匹配到的位置是:开始于10,结束于14。

举例2:表达式 “go{2,8}gle” 在匹配 “Ads by goooooogle” 时,匹配的结果是:成功;匹配到的内容是:”goooooogle”;匹配到的位置是:开始于7,结束于17。

——————————————————————————–

1.6 其他一些代表抽象意义的特殊符号
一些符号在表达式中代表抽象的特殊意义:

表达式
作用

^
与字符串开始的地方匹配,不匹配任何字符

$
与字符串结束的地方匹配,不匹配任何字符

b
匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符

进一步的文字说明仍然比较抽象,因此,举例帮助大家理解。

举例1:表达式 “^aaa” 在匹配 “xxx aaa xxx” 时,匹配结果是:失败。因为 “^” 要求与字符串开始的地方匹配,因此,只有当 “aaa” 位于字符串的开头的时候,”^aaa” 才能匹配,比如:”aaa xxx xxx”。

举例2:表达式 “aaa$” 在匹配 “xxx aaa xxx” 时,匹配结果是:失败。因为 “$” 要求与字符串结束的地方匹配,因此,只有当 “aaa” 位于字符串的结尾的时候,”aaa$” 才能匹配,比如:”xxx xxx aaa”。

举例3:表达式 “.b.” 在匹配 “@@@abc” 时,匹配

Editplus 正则替换实例 By Stabx

0

abandon[2'b9nd2n]v.抛弃,放弃
abandonment[2'b9nd2nm2nt]n.放弃
abbreviation[2bri:vi'ei62n]n.缩写
abeyance[2'bei2ns]n.缓办,中止
abide[2'baid]v.遵守
ability[2'biliti]n.能力
able['eibl]adj.有能力的,能干的
abnormal[9b'n0:m2l]adj.反常的,变态的
aboard[2'b0:d]adv.船(车)上

1.
查找: (^[a-zA-Z0-0-]+)([*.*]+)(.*)
替换: @@@@@”1″,”2″,”3″,
效果:
(更多…)

EditPlus正则表达式替换字符串详解

0

网上搜集了些实例

正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它能很好提高工作效率。

EditPlus的查找,替换,文件中查找支持以下的正则表达式:

Expression Description
t Tab character.
n New line.
. Matches any character.
| Either expression on its left and right side matches the target string.
For example, “a|b” matches “a” and “b”.
[] Any of the enclosed characters may match the target character.
For example, “[ab]” matches “a” and “b”. “[0-9]” matches any digit.
[^] None of the enclosed characters may match the target character.
For example, “[^ab]” matches all character EXCEPT “a” and “b”.
“[^0-9]” matches any non-digit character.
* Character to the left of asterisk in the expression should match 0 or more times.
For example “be*” matches “b”, “be” and “bee”.
+ Character to the left of plus sign in the expression should match 1 or more times.
For example “be+” matches “be” and “bee” but not “b”.
? Character to the left of question mark in the expression should match 0 or 1 time.
For example “be?” matches “b” and “be” but not “bee”.
^ Expression to the right of ^ matches only when it is at the beginning of line.
For example “^A” matches an “A” that is only at the beginning of line.
$ Expression to the left of $ matches only when it is at the end of line.
For example “e$” matches an “e” that is only at the end of line.
() Affects evaluation order of expression and also used for tagged expression.
scape character. If you want to use character “” itself, you should use “”.

例子:

(更多…)

Go to Top