正则表达式:
.点
匹配除“\n”和"\r"之外的任何单个字符。要匹配包括“\n”和"\r"在内的任何字符,请使用像“[\s\S]”的模式。
{n}
n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
(pattern)
匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“(”或“)”。
运用在notepad++:
prepare data: 123456789
case1:
去除前面3个字符
Find what:^.{3}(.)
Replace with:$1
.{3}定位匹配任何字符3次
(.)匹配并捕获从第4个字符开始到行尾的所有字符 赋值为$1
最后替换为$1 就是去除前面两个字符的效果
case2:
去除第3到第5个字符:
Find what:^(.{2}).{3}
Replace with:$1
在“查找内容”框中,输入(.{2}).{3}。这里的表示行的开始,(.{2})匹配并捕获前两个字符(即你想要保留的字符),.{3}匹配你想要去除的接下来三个字符(即第3到第5个字符)。注意,我们没有捕获这三个字符,因为我们只是用它们来定位去除的位置
在“替换为”框中,输入$1。$1是一个反向引用,表示前面通过括号捕获的第一个组(即前两个字符)。由于我们没有在“查找内容”中捕获第3到第5个字符,所以这里只使用$1来保留前两个字符,并自动去除后面的三个字符。
case:3
替换第3到第5个字符 替换为a:
Find what:^(.{2}).{3}
Replace with:$1a
在“查找内容”框中,输入(.{2}).{3}。这里的表示行的开始,(.{2})匹配并捕获前两个字符(即你想要保留在前面的字符),.{3}匹配你想要替换的接下来三个字符(即第3到第5个字符)。注意,这里没有捕获第3到第5个字符,因为我们只是用它们来定位替换的位置。
在“替换为”框中,输入你想要替换成的内容,紧接着是$1。$1是一个反向引用,表示前面通过括号捕获的第一个组(即前两个字符)。例如,如果你想要将每行的第3到第5个字符替换为“a”,你应该在“替换为”框中输入$1a。
很多时候需要给多行文本的前后加字符或者文本,一行一行添加是在太麻烦了。notepad++提供了一键替换的功能。
替换常用方法
打开nodepad++软件,使用ctrl+H进入替换选择框,然后勾选循环查找(wrap around),查找模式选择正则表达式(Reqular expression);
行首插入"a"
在行首插入分号’,在查找目标(Find what)输入^,然后在替换为(replace with)输入需要替换的符号’。
行尾插入"a"
在行首插入分号’,在查找目标(Find what)输入$,然后在替换为(replace with)输入需要替换的符号’。
行首空格和空行去除:“^\s+” -> “”
行尾空格和空行去除: “\s+$” -> “”
增加行:“\r\n” -> “\r\n\r\n”
缩减行:“\r\n\r\n” -> “\r\n”
多行转一行:“\r\n” -> “”
按xxx分割符换行:“xxx” -> “\r\n”
按非xxx开头换行:“^(?!xxx)” -> “\r\n”
AB列CD列快速互换:“(AB)\t(CD)” ->“$2\t$1”