UltraEdit正则表达式介绍及实例
前几天,有个将Excel中的数据导入到数据库中的需求,原本想到用程序读取Excel中的数据并存储到数据库中,但经一哥们的提醒,说用 EditPlus或UltraEdit这样的工具直接将数据拼凑成SQL插入语句更容易方便,也不用写任何代码,由于我本人使用UltraEdit,故考 虑用UltraEdit的正则表达式来做这件事,下面是这样的一个过程。 假设导入的表字段为:name,email, introduce,在Excel中的数据对应的也是这样的字段,值得注意的是:在excel中的数据,比如introduce不能换行,不然的话语句拼凑后会执行会出错。 要拼凑的例子数据如下(从Excel中拷贝并粘贴到UltraEdit中): 张三 zhangsan@zihou.com "坐于2004年5月经教育部批准升格为普通本科院校。 " 李四 lisi@zihou.com 最专业的图文视频体育赛事直播、报道和‘专家'点评。 各字段值之间以一个或多个tab键分隔着,操作步骤: 替换按Ctrl+R 1、 先将单引号、双引号之类的字符去掉,这一步不用正则,简单替换即可。 2、 去掉空行:用正则%[ ^t]++^p替换为空字符串,另外,还有^p$也可以,不过在替换的时候,^p$每次只能替换一个空行。 3、 在每行的最前面增加:insert into test(name,email,introduce)values(‘,在UltraEdit正则中,%是表示行首,如下图:
4、 替换掉tab键
5、 最后在行尾加入’);
OK,大功告成!这样就拼凑成了正常的SQL插入语句了,感觉是不是很快很容易? 如何学习UltraEdit正则用法?可以通过以下两个方面: 1、 从网上搜些这方面的介绍资料 2、 通过UltraEdit的帮助文档来进行学习 UltraEdit的帮助文档有两方面,一方面是其chm格式的文档、另一方面是其官网的文档。 官网的文档进入方式为:菜单帮助->快速入门指南,在打开的窗口中,点击任一链接都会到其官网帮助文档页面,当然了,如果你到这里了,也可以直接点击下面的链接: http://www.ultraedit.com/support/tutorials_power_tips/ultraedit.html chm格式的文档进入方式为: 菜单帮助->使用帮助,或帮助->索引均可,如下图:
在左侧输入“正则表达式”进行查找,就会弹出右侧的窗口,看到有很多的使用介绍吧?你可以选择感兴趣的进去。 下面是从UltraEdit文档中摘录的语法说明: 正则表达式 (UltraEdit 语法):
注意 – ^ 这里涉及的字符“^”不是控制键 + 值。 例如: 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 语法):
注意 – ^ 这里所涉及的字符“^”不是控制键 + 值。 例如: 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。 如果在查找/替换中没有选择使用正则表达式,在替换对象中下列特殊字符同样有效:
注意 – ^ 这里所涉及的字符“^”不是控制键 + 值。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |