正则表达式在Nodepad++中的使用

一、基础表达法

  • \ 转义字符 如:要使用 “\” 本身, 则应该使用“\”
  • \t Tab制表符 注:扩展和正则表达式都支持
  • \r 回车符CR 注:扩展支持,正则表达式不支持
  • \n 换行符LF 注:扩展支持,正则表达式不支持
  • \r\n 正则表达式可表示回车换行
  • . 匹配任意一个字符
  • ^ 其右边的表达式被匹配在行首。如:^A匹配以“A”开头的行
  • $ 其左边的表达式被匹配在行尾。如:e$匹配以“e”结尾的行| 或运算符,匹配表达式左边和右边的字符串。如:ab|bc匹配“ab”或“bc”
  • [] 匹配列表中任意单个字符。如:[ab]匹配“a”或“b”;[0-9]匹配任意单个数字
  • [^] 匹配列表之外的任意单个字符。
  • *其左边的字符被匹配任意次(0次或多次)。如:be*匹配“b”,“be”或“bee”
  • + 其左边的字符被匹配至少一次(1次或多次)。如:be+匹配“be”或“bee”,但不匹配“b”
  • ? 其左边的字符被匹配0次或者1次。如:be?匹配“b”或“be”,但不匹配“bee”;\r?\n匹配行结尾符
  • ()影响表达式匹配的顺序(类似C++的小括号会影响表达式运算顺序),并且用作表达式的分组标记(标记从1开始)如:([a-z]bc)smn\1匹配“tbcsmntbc”;另见:看下文的示例
  • {} 指定前面的字符或分组的出现次数 如:abc{3}匹配abccc;a(bc){2}匹配abcbc
  • \d 匹配一个数字字符。等价于:[0-9]
  • \D \d取反,匹配一个非数字字符。等价于:[^0-9]
  • \s 匹配任意单个空白字符:包括空格、制表符等(注:不包括换车符和换行符)。等价于:[ \t]
  • \S \s取反的任意单个字符。
  • \w 匹配包括下划线的任意单个字符。等价于:[A-Za-z0-9_]
  • \W \w 取反的任意单个字符。等价于:[^A-Za-z0-9_]
  • \b 匹配单词起始处或结尾处

二、CTRL+H 勾选正则玩法

正则替换框内,输入以下Pattern和Replace,相同效果。

文本控制字符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;其他类型控制字符。

PatternReplaceMeaning
[[:alpha:]][A-Za-z]匹配一个英文字母
[[:digit:]][0-9]匹配一个数字
[[:xdigit:]][0-9A-Fa-f]匹配一个十六进制数字
[[:alnum:]][0-9A-Za-z]匹配一个字母数字
[[:lower:]][a-z]匹配一个小写英文字母
[[:upper:]][A-Z]匹配一个大写英文字母
[[:blank:]][ \t]匹配一个空白(空格或者制表符)
[[:space:]][ \t\r\n\v\f]匹配一个空白符
[[:graph:]][\x21-\x7E]匹配一个图形字符
[[:print:]]图形字符(计算机录入的基本字符)和空格匹配可打印字符
[[:cntrl:]]控制字符见上注释控制(control)字符
[[:punct:]][-!"#$%&’()*+,./:;<=>?@[]_`{匹配一个标点字符

三、玩法

>>>

比如我们有这么一份sql:

INSERT INTO EMP1 VALUES(7369, 'SMITH', 'CLERK', 7902, '17-12月-80', 800, NULL, 20);
INSERT INTO EMP2 VALUES(7499, 'ALLEN', 'SALESMAN', 7698, '20-2月 -81', 1600, 300, 30);
INSERT INTO EMP3 VALUES(7521, 'WARD', 'SALESMAN', 7698, '22-2月 -81', 1250, 500, 30);
INSERT INTO EMP4 VALUES(7566, 'JONES', 'MANAGER', 7839, '02-4月 -81', 2975, NULL, 20);
INSERT INTO EMP5 VALUES(7654, 'MARTIN', 'SALESMAN', 7698, '28-9月 -81', 1250, 1400, 30);

现在,我发现我的库名没有写,需要带上库名(TEST),每一条变成这样:

INSERT INTO TEST.EMP5 VALUES(7654, 'MARTIN', 'SALESMAN', 7698, '28-9月 -81', 1250, 1400, 30);

使用nodepad++的手动宏记录,来一键傻瓜批量操作。

作业:

  1. 使用nodepad++打开你要处理的sql
  2. CTRL+H唤起替换窗口,选择正则表达式,并勾选匹配新行
  3. 查找表达式填入?
  4. 替换表达式填入?
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春马与夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值