zoukankan
html css js c++ java
UE中使用正则表达式的一些技巧
http://www.cnblogs.com/sanpoye/archive/2012/04/18/2454945.html以下是网上摘录的UE 技巧
1)删除空行: 替换 %[ ^t]++^p 为 空串
2)删除行尾空格: 替换 [ ^t]+$ 为 空串
3)删除行首空格: 替换 %[ ^t]+ 为 空串
4)每行设置为固定的4个空格开头: 替换 %[ ^t]++^([~ ^t^p]^) 为 " ^1"
5)每段设置为固定的4个空格开头: 替换 %[ ^t]+ 为 " " (如果一行是以空格开始的,则视之为一段的开始行)
6)将一段合并为一行: 替换 [ ^t]++^p^([~ ^t^p]^) 为 ^1 (注意: 此处假定文本是以DOS方式回车换行 - CR/LF)
7)去掉HTML TAG: 替换 ^{<*>^}^{<*^p*>^} 为 空串
8)删除HTML中的所有<A>: 替换 <[ ]++a *[ ]++href[ ]++=*> 为 空串
9)删除文本中指定的前2列字符: 替换 %?? 为 空串
10)在第4列后插入2列空白字符: 替换 %^(????^)^(?^) 为 "^1 ^2"
11)查找所有的数字: [0-9]+[.]++[0-9]+
12)查找所有的单词: [a-z]+
13)查找所有的网址: http://[a-z0-9^~`_./^-^?=&]+
UltraEdit正则表达式(UltraEdit Syntax)
%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,其中^{和^}是分割符
以下是自己做的例子:
1:替换空格或TAB后的所有字符(这个常常在取字段列名时有用到,因为用desc列出来的信息降了列名外还有列类型,列空约束和列注释信息):
命令:将[ ^t]+*$替换为空
1.1:替换前,图1.1:
1.2:用CRTL+R调出替换窗口,然后按下面的输入,替换,图1.2(注意,此处要选择正则表示式,默认情况下不勾选):
1.3:替换后,图1.3:
从替换结果来看,说明查找的顺序是从前到后,替换是从第一个开始查找到的字符位置开始的。
依此递推,当我们想将特定字符串后的内容替换为特定内容或者空时,,只需将%*{特定字符串}替换成空为可以了。
2、替换含有空格或TAB键前的所有内容
操作:将%*[ ^t]替换为空
2.1替换前,如图1.1
2.2替换后,图2.2:
依此递推,当我们想将特定字符串前的内容替换为特定内容或者空时,只需将{特定字符串}+*$替换成空为可以了。
3、空行或仅含有空格和TAB键的行
操作:将%[ ^t]++^p替换为空
3.1:替换前,图3.1:
3.2:替换后,图3.2:
依此递推,如果想将仅含有特定字符串的行删除,也可采用%{特定字符串}++^p替换为空为可以了
4、在行末添加;分号字符
操作:将$替换成;
4.1:替换前,如图1.1。
4.2:替换后:
5、在行首添加添加4个空格:
操作:%替换成四个空格或者用UE的列块模式
5.1:替换前,如图1.1
5.2:替换后,图5.2:
6、将含有varchar字符串的行删除:
操作:将%*varchar*^p替换成空
6.1:替换前,如图1.1
6.2:替换后,图6.2:
7、以;做分隔,进行分行处理
操作:将;替换成;^p
7.1:替换前,图7.1:
7.2:替换后,图7.2:
小结:
以上是一些常用的UE的正则式应用,在本人的工作中,常常是在生成创建或修改
数据库
对象的
SQL
语句时用到,它给我们平时的工作带来很大的例行性。对于LINUX、UNIX和ORACLE 10G后的版本,都有对正则表达式的支持,语法上大同小异,使用正则表达式,会给我们的日志文本处理和字符串匹配带来很大的便利性。工欲善其事,必行利其器。正则表达式,就是我们的日常工作的必备手段之一。
查看全文
相关阅读:
#C++初学记录(sort函数)
#C++初学记录(贪心算法#结构体#贪心算法)
#C++初学记录(初识汉诺塔)
vuex中使用多模块时,如果不同模块中action有名字冲突该如何解决
vue中二次封装别人组件,动态传属性使用v-bind="$attrs" 和 v-on="$listeners"
在vue.config.js项目中配置proxy解决跨域问题
Vue里报错:Maximum call stack size exceeded
git报错:pre-commit hook failed (add --no-verify to bypass)
十大排序算法,用JS写出来
基数排序(JS代码)
原文地址:https://www.cnblogs.com/svennee/p/4069742.html
最新文章
三 Bash Shell 结构
一 shell编程
总结 鸟哥的私房菜
Python学习笔记
转:关于java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication的解决
转:org.apache.maven.archiver.MavenArchiver.getManifest错误
SpringMVC整合Swagger
base64转图片、图片转base64、图片拼接、加水印(水印角度可设置)
转:eclipse安装lombok
转:解决Eclipse中.properties文件中文乱码问题
热门文章
转:浅谈Spring的PropertyPlaceholderConfigurer
转:Java transient关键字使用小记
转:mysql 安装失败 start service执行不下去
#C++初学记录(算法4)
#C++初学记录(算法3)
#C++初学记录(算法2)
#C++初学记录(ACM试题2)
#C++初学记录(ACM试题1)
#C++初学记录(深度搜索#递归)
#C语言初学记录(位运算)
Copyright © 2011-2022 走看看