正则表达式

来源:互联网 发布:淘宝怎么找收藏的店铺 编辑:程序博客网 时间:2024/06/06 02:00

使用的软件UltraEdit

正则表达式

 

1ctrl+R(替换)

2)选中对话框中的两项: 正则表达式(E),  UltraEdit

注意:把光标放在开始处,否则可能出现问题,因为它会从光标处开始执行。

符号  功能
%    
匹配行的开始 - 显示搜索字符串必须在行的开始,但是在所选择的结果字符串中不包括任何行终止字符。
$    
匹配行尾 - 显示搜索字符串必须在行尾,但是在所选择的结果字符串中不包括任何行终止字符。
?    
除了换行符以外匹配任何单个的字符
*    
除了换行符匹配任何数量的字符和数字
+    
前一字符匹配一个或多个,但至少要出现一个
++    
前一字符匹配零个或多个,但至少要出现一个
^b    
匹配一个分页
^p    
匹配一个换行符(CR/LF)()(DOS文件)
^r    
匹配一个换行符(CR 仅仅)()(MAC 文件)
^n    
匹配一个换行符 ( LF 仅仅 )( )( UNIX 文件 )
^t    
匹配一个标签字符TAB
[]    
匹配任何单个的字符,或在方括号中的范围
^{A^}^{ B^}
匹配表达式A B
^    
重载其后的正规表达式字符
^(^)  
括或标注为用于替换命令的表达式。

1.     查找包含不区别分大小写的“ir”的单词并将其替换成“IR”

查找:[iI][rR]

替换:IR

 

比如有如下文本:

bird bIrd cird ciRd

替换后的结果为:

bIRd bIRd cIRd cIRd

2.将语句保留部分:

10:54:32.3> Sys Time=0x46150532, GetTitle 22 425 69 26 0 242 22 13[换行]

[空行]

替换成:

GetTitle 22 425 69 26 0 242 22 13[换行]

的方法是:

查找:%*^(GetTitle*^)^p^p

替换:^1^p

 

3、去除文中某一类字符串

#0001 template <class T>

#0002 T power(T base, int exponent)

#0003 {

#0004 T result = base;

#0005 if (exponent == 0) return (T)1;

#0006 if (exponent < 0) return (T)0;

#0007 while (--exponent) result *= base;

#0008 return result;

#0009 }

去除#0001*

查找:#00??

替换:(什么都不写,为空即可)

即可去掉

4、删除句首空格

格式->删除缩进

5、两个字符串交换位置或保留其一或连在一起,同时更改为别的

例:

hello folks

查找:^(h*o^) ^(f*s^)  //两种均存在

替换:^2^1

结果为:folkshello 连在了一起

若想隔开,中间加个一个标签字符TAB

替换:^2^t^1  结果为:folks    hello

 

保留其一

替换:^2  保留第二个

^1  保留第一个

同时更改为别的

查找:^{h*o^} ^{f*s^} //只要其一,就更改为……,也就是均改为:

替换:aa

如:hello folks  folks

查找:^{h*o^} ^{f*s^}

替换:aa

结果:aa aa  aa

6、一般例子

m?n 匹配"man","men","min" 但不匹配"moon".
t*t
匹配"test","tonight" "tea time" (the "tea t" portion) 但不匹配 "tea
time" (newline between "tea " and "time").
Te+st
匹配"test","teest"," teeeest "等等。但是不匹配"tst"
[aeiou]  
匹配每个小写元音。
[,.?]  
匹配一文字的 ","".""?"
[0-9, a-z]
匹配任何数位,或小写字母。
[~0-9]
除了数字以外匹配任何字符 (~ 意味着"")

 

[ ] 匹配方括号中的单个的字符
删除空行: 替换 %[ ^t]++^p 空串


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


删除行首空格: 替换 %[ ^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^~`_./^-^?=&]+

原创粉丝点击