AD

UE教程、使用问题及正则教程



问题1:如何去掉所编辑文本中包含特定字符串的行?

这则技巧是在UltraEdit的帮助文件里有。CTRL+R 调出来替换(Replace)窗口,选中"使用正则表达式",然后用查找 "%*your string*^p"(不包含括号,下同。) ,替换成空内容即可。

注意:“^p” 是 DOS 文件类型的换行符.如果是 Unix 类型文件,则用“^n”。

 

问题2: 如何在行末添加特定字符,比如逗号?

CTRL+R 调出来替换(Replace)窗口,选中"使用正则表达式",查找 “^p”(或者“^n”,如果是Unix 文件),用“^p”(或者“^n”)进行"全部替换"即可。

注意:如果是 MAC(Apple) 类型文件,则换行符号为“^r”。

 

问题3: 如何删除空行?

查找 “^p$” 然后替换为空即可。

 

问题4: 编辑文件如何加入时间戳 ?

F7 快捷键即可。

 

问题5: 为何 拷贝(Copy)/粘贴(Paste)功能不能用了?

如果发现使用 UltraEdit 的过程中拷贝与粘贴的内容不匹配。是因为UltraEdit有10个剪切板(clipboard),分别用Ctrl+0 - Ctrl+9 切换。 Ctrl+0 是 Windows 的,其他则为用户自定义的。在使用的过程中错调用了 CTRL+n。

 

问题6:打开很小的文件也延迟

每次打开文件的时候总有几秒钟的耽搁,即使是很小的几个字节的文件。这是网络打印机搞得鬼。打开"高级"->"设置"->"编辑器"->"高级",看看是不是选中了"载入/恢复打印机设置"?如果是的话,去掉(不同的版本/汉化与否可能该位置所在有差别)。

 

问题7: 删除当前行内容

CTRL+E

 

问题8:删除特定字符(#)开头的行

%#*$

 

正则教程:

 

删除空行: 替换 %[ ^t]++^p 为 空串

 

删除行尾空格: 替换 [ ^t]+$ 为 空串

 

删除行首空格: 替换 %[ ^t]+ 为 空串

 

每行设置为固定的4个空格开头: 替换 %[ ^t]++^([~ ^t^p]^) 为 " ^1"

 

每段设置为固定的4个空格开头: 替换 %[ ^t]+ 为 " "

(如果一行是以空格开始的,则视之为一段的开始行)

 

将一段合并为一行: 替换 [ ^t]++^p^([~ ^t^p]^) 为 ^1

(注意: 此处假定文本是以DOS方式回车换行 - CR/LF)

 

去掉HTML TAG: 替换 ^{<*>^}^{<*^p*>^} 为 空串

 

删除HTML中的所有: 替换 <[ ]++a *[ ]++href[ ]++=*> 为 空串

 

删除文本中指定的前2列字符: 替换 %?? 为 空串

 

在第4列后插入2列空白字符: 替换 %^(????^)^(?^) 为 "^1 ^2"

 

查找所有的数字: [0-9]+[.]++[0-9]+

 

查找所有的单词: [a-z]+

 

查找所有的网址: http://[a-z0-9^~`_./^-^?=&]+

 

%1              搜索以1开头的行

1$               搜索以1为结尾的行

?                 匹配单字符

*                  匹配多字符

Te+st         匹配"test", "teest", "teeeest" 等. 但不匹配 "tst".

te++st        匹配"test", "teest", "teeeest","tst" 等. 但不匹配 .

^p               新行 (DOS Files格式)

^r                 新行 (MAC Files格式)

^n                新行 (UNIX Files格式)

^t                 tab键

[1-9]           匹配1-9的数字

[linux]         匹配linux中任何一个单词

[~0-9]         除数字外任何一个词

"^{John^}^{Tom^}"       搜索john和tom 如john sdfasdf tom被选种,当然不包括sdfasdf,其中^{和^}是分割符

 

正则表达式 (UltraEdit 语法):

 

%

匹配行首 - 表示搜索字符串必须在行首,但不包括任何选定的结果字符中的行终止字符。

 

$

匹配行尾 - 表示搜索字符串必须在行尾,但不包括任何选定的结果字符中的行终止字符。

 

?

匹配任何除换行符的字符。

 

*

匹配任何除换行符外所出现的任意数量的字符。

 

+

匹配一个或多个前面的字符/表达式。必须找到至少一个出现的字符。不匹配重复的换行符。

 

++

0 次或多次匹配前面的字符/表达式。不匹配重复的换行符。

 

^b

匹配一个分页符。

 

^p

匹配一个换行符 (CR/LF) (段落) (DOS 文件)

 

^r

匹配一个换行符 (仅 CR) (段落) (MAC 文件)

 

^n

匹配一个换行符 (仅 LF) (段落) (UNIX 文件)

 

^t

匹配一个制表符

 

[ ]

匹配任何括号中的单个字符或范围

 

^{A^}^{B^}

匹配表达式 A 或 B

 

^

忽略其后的正则表达式字符

 

^(*^)

在表达式加上括号或标签在替换命令中使用。正则表达式中可以有 9 个表达式标签,数字根据它们在正则表达式中的次序确定数字。

 

相应的替换表达式是 ^x,x 的范围是 1-9。例如: 如果 ^(h*o^) ^(f*s^) 匹配“hello folks”,那么^2 ^1 表示将用“folks hello”替换它。

 

注意 - ^ 这里涉及的字符“^”不是控制键 + 值。

 

例如:

m?n 匹配“man”、“men”、“min”,但不匹配“moon”。

 

t*t 匹配“test”、“tonight”和“tea time”中的“tea t”部分,但不匹配“tea

time” (“tea ”和“time”之间有换行)。

 

Te+st 匹配“test”、“teest”、“teeeest”等,但不匹配“tst”。

 

[aeiou] 匹配每个元音小写字母

[,.?] 匹配文字“,”、“.”或“?”。

[0-9a-z] 匹配任何数字或小写字母

[~0-9] 匹配除数字外的任何字符 (~ 表示不匹配其后的内容)

 

你可以搜索象下面一样的表达式 A 或 B:

"^{John^}^{Tom^}

这将搜索 John 或 Tom。在两个表达式之间应该没有任何其它内容。

 

你可以在同一次搜索象下面一样组合 A 或 B 和 C 或 D:

"^{John^}^{Tom^} ^{Smith^}^{Jones^}"

这将搜索后面跟随了 Smith 或 Jones 的 John 或 Tom。

 

下面的表显示“Unix”样式的正则表达式语法。

正则表达式 (Unix 语法):

 

 

 

表示下一个字符有特殊含义。“n”表示匹配字符“n”,“n”匹配一换行符。看下面的例子 (d、f、n 等)。

 

^

匹配/停驻行首。

 

$

匹配/停驻行尾。

 

*

匹配前面的字符 0 次或多次。

 

+

匹配前面的字符一次或多次。不匹配重复的换行符。

 

.

匹配任何除换行符之外的单个字符。不匹配重复的换行符。

 

(表达式)

在表达式加上括号或标签在替换命令中使用。正则表达式中可以有 9 个表达式标签,数字根据它们在正则表达式中的次序确定数字。

 

相应的替换表达式是 ^x,x 的范围是 1-9。例如: 如果 ^(h*o^) ^(f*s^) 匹配“hello folks”,那么^2 ^1 表示将用“folks hello”替换它。

 

[xyz]

字符集,匹配任何括号间的字符。.

 

[^xyz]

排除字符集。匹配任何不在括号间的字符。

 

d

匹配一个数字字符。等同于 [0-9]。

 

D

匹配一个非数字字符,等同于 [^0-9]。

 

f

匹配一个换页符。

 

n

匹配一个换行符。

 

r

匹配一个回车符。

 

s

匹配任何包含空格、制表符等不会显示的字符,但不匹配换行符。

 

S

匹配任何非空白区域 (显示字符) 的字符,但不匹配换行符。

 

t

匹配一个制表符。

 

v

匹配一个垂直制表符。

 

w

匹配任何包含下划线的词语。

 

W

匹配任何非词语的字符。

 

p

匹配 CR/LF (等同于 ),用来匹配 DOS 行终止符。

 

 

注意 - ^ 这里所涉及的字符“^”不是控制键 + 值。

例如:

m.n 匹配“man”、“men”、“min”,但不匹配“moon”。

 

Te+st 匹配“test”、“teest”、“teeeest”等,但不匹配“tst”。

 

Te*st 匹配“test”、“teest”、“teeeest”等,还有“tst”。

 

[aeiou] 匹配每个元音小写字母

[,.?] 匹配文字“,”、“.”或“?”。

[0-9a-z] 匹配任何数字或小写字母

[^0-9] 匹配除数字外的任何字符 (~ 表示不匹配其后的内容)

 

你可以象下面一样的表达式 A 或 B 进行搜索:

"(John|Tom)"

这将搜索 John 或 Tom。在两个表达式之间应该没有任何其它内容。

 

你可以在同一次搜索象下面一样组合 A 或 B 和 C 或 D:

"(John|Tom) (Smith|Jones)"

这将搜索 Smith 或 Jones 以及跟随在后面的 John 或 Tom。

评论

此博客中的热门博文

简单粗暴导出小米便签

我——终于一个人了

多种方法绕过POWERSHELL的执行策略