EditPlus正则表达式替换字符串详解

正则表达式是一个查询的 字符串,它包括一般的 字符和一些特别的 字符,特别 字符可以扩大查找 字符串的才能, 正则表达式在查找和调换 字符串的感化不成疏忽,它能很好进步工作效力。

EditPlus的查找,调换, 文件中查找支撑以下的 正则表达式

Expression Description
\t Tab character.
\n New line.
. Matches any character.
| Either expression on its left and right side matches the target string.
For example, “a|b” matches “a” and “b”.
[] Any of the enclosed characters may match the target character.
For example, “[ab]” matches “a” and “b”. “[0-9]” matches any digit.
[^] None of the enclosed characters may match the target character.
For example, “[^ab]” matches all character EXCEPT “a” and “b”.
“[^0-9]” matches any non-digit character.
* Character to the left of asterisk in the expression should match 0 or more times.
For example “be*” matches “b”, “be” and “bee”.
+ Character to the left of plus sign in the expression should match 1 or more times.
For example “be+” matches “be” and “bee” but not “b”.
? Character to the left of question mark in the expression should match 0 or 1 time.
For example “be?” matches “b” and “be” but not “bee”.
^ Expression to the right of ^ matches only when it is at the beginning of line.
For example “^A” matches an “A” that is only at the beginning of line.
$ Expression to the left of $ matches only when it is at the end of line.
For example “e$” matches an “e” that is only at the end of line.
() Affects evaluation order of expression and also used for tagged expression.
\ scape character. If you want to use character “\” itself, you should use “\\”.


例子:

原始串
str[1]abc[991];
str[2]abc[992];
str[11]abc[993];
str[22]abc[994];
str[111]abc[995];
str[222]abc[996];
str[1111]abc[997];
str[2222]abc[999];

目的串:
abc[1];
abc[2];
abc[11];
abc[22];
abc[111];
abc[222];
abc[1111];
abc[2222];

处置:
查找串:str\[([0-9]+)\]abc\[[0-9]+\]
调换串:abc[\1]

【1】 正则表达式利用——调换指定内容到行尾
原始文本以下面两行
abc aaaaa
123 abc 444

盼望每次碰到“abc”,则调换“abc”和厥后到行尾的内容为“abc efg”
即上面的文本终究调换为:
abc efg
123 abc efg

解决:
① 在调换对话框,查找内容里输入“abc.*”
② 同时勾选“ 正则表达式”复选框,然后 点击“全体调换”按钮
此中, 符号的寄义以下:
“.” =匹配肆意 字符
“*” =匹配0次或更多

注重:其实就是 正则表达式调换,这里只是把一些曾提出的 问题加以收拾,清纯从 正则表达式自己来讲,就能够引伸出不计其数种特例。

【2】 正则表达式利用—— 数字调换
盼望把
asdadas123asdasdas456asdasdasd789asdasd
调换为:
asdadas[123]asdasdas[456]asdasdasd[789]asdasd

在调换对话框里面,勾选“ 正则表达式”复选框;
在查找内容里面输入“[0-9][0-9][0-9]”,不含引号
“调换为:”里面输入“[\0\1\2]”,不含引号
范畴为你所操作的范畴,然后选择调换便可。

现实上这也是 正则表达式的应用特例,“[0-9]”表现匹配0~9之间的任何特例,一样“[a-z]”就表现匹配a~z之间的任何特例
上面反复应用了“[0-9]”,表现持续呈现的三个 数字
“\0”代表第一个“[0-9]”对应的原型,“\1”代表第二个“[0-9]”对应的原型,依此类推
“[”、“]”为清纯的 字符,表现添加“[”或“]”,若是输入“其它\0\1\2其它”,则调换成果为:

asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd

功效加强(by jiuk2k):
若是将查找内容“[0-9][0-9][0-9]”改成“[0-9]*[0-9]”,对应1 或 123 或 12345 或 …
大师依据须要定制

相干内容还有良多,可以本身参考 正则表达式的语法细心研讨一下

【3】 正则表达式利用—— 删除每行行尾的指定 字符
由于这几个 字符在行中也是呈现的,所以确定不克不及用简略的调换实现
好比
12345 1265345
2345
须要 删除每行末尾的“345”
这个也算 正则表达式用法,其实细心看 正则表达式应当比拟简略,不外既然有这个 问题提出,阐明对 正则表达式还得有个熟悉进程,解决方式以下
解决:
在调换对话框中,启用“ 正则表达式”复选框
在查找内容里面输入“345$”
这里“$”表现从行尾匹配

若是从行首匹配,可以用“^”来实现,不外 EditPlus 有另外一个功效可以很简略的 删除行首的 字符串
a. 选摘要操作的行
b. 编纂-格局- 删除行注释
c. 在 弹出对话框里面输入要肃清的行首 字符,断定

【4】 正则表达式利用——调换带有半角括号的多行
几百个 网页中都有下面一段 代码
\n
在调换对话框启用“ 正则表达式”选项,这时候就能够完成调换了

【5】 正则表达式利用—— 删除空行
启动EditPlus,打开待处置的文本类型 文件
①、选择“查找” 菜单的“调换”号令, 弹出文本调换对话框。选中“ 正则表达式”复选框,表白我们要在查找、调换中应用 正则表达式。然后,选中“调换范畴”中的“当前 文件”,表白对当前 文件操作。
②、单击“查找内容”组合框右边的按钮,呈现下拉 菜单
③、下面的操作添加 正则表达式,该 表达式代表待查找的空行。(技能提醒:空行仅包含空格符、制表符、回车符,且必需以这三个 符号之一作为一行的开首,而且以回车符结尾,查找空行的要害是结构代表空行的 正则表达式)。
直接在”查找”中输入 正则表达式“^[ \t]*\n”,注重\t前有空格符。
(1)选择“从行首开端匹配”,“查找内容”组合框中呈现 字符“^”,表现待查找 字符串必需出此刻文本中一行的行首。
(2)选择“ 字符在范畴中”,那末在“^”后会增添一对括号“[]”,当前插入点在括号中。括号在 正则表达式中表现,文本中的 字符匹配括号中肆意一个 字符即合适查找前提。
(3)按一下空格键,添加空格符。空格符是空行的一个构成成份。
(4)选择“制表符”,添加代表制表符的“\t”。
(5)移动光标,将当前插入点移到“]”以后,然后选择“匹配 0 次或更多”,该操作会添加星号 字符“*”。星号表现,其前面的括号“[]”内的空格符或制表符,在一行中呈现0个或多个。
(6)选择“换行符”,插入“\n”,表现回车符。
④、“调换为”组合框坚持空,表现 删除查找到的内容。单击“调换”按钮逐一行 删除空行,或单击“全体调换”按钮 删除全体空行(注重:EditPlus有时存在“全体调换”不克不及一次性完整 删除空行的 问题,多是法式BUG,须要多按几回按钮)。

1.在汉化的时辰,是不是常常碰着如许的语句须要翻译:

Code:
“Error adding the post!”;
“Error adding the comment!”;
“Error adding the user!”;

若是有良多相似的 文件一个一个翻译明显很累并且感到很无聊。

其实可以如许处置,在Editplus里面用 调换 功效,在调换对话框选中“ 正则表达式”复选框:
查找原 文件

Code:
“Error adding ([^!|"|;]*)

调换成:

Code:
“在增添\1时产生过错

如许调换以后产生了甚么?成果是:

Code:
“在增添the post时产生过错!”;
“在增添the comment时产生过错!”;
“在增添the user时产生过错!”;

ok,接下来你会怎样做?固然再调换一次把the post、the comment、the user调换成你要翻译的词。获得最后的成果:

Code:
“在增添 帖子时产生过错!”;
“在增添评论时产生过错!”;
“在增添用户时产生过错!”;

2.要提取的单词在中心,好比:

Code:
can not be deleted because
can not be added because
can not be updating because

可以用这类方法:
在Editplus里面用 调换 功效,在调换对话框选中“ 正则表达式”复选框:
查找原 文件

Code:
can not be ([^ ]*) because

调换成:

Code:
没法被\1由于

如许调换以后产生了甚么?成果是:

Code:
没法被deleted由于
没法被added由于
没法被updating由于

其余步调如上。

在汉化量很大并且句式比拟单调的情形下对效力的进步很显明!

说明一下:([^!|"|;]*) 的意思是 不等于 ! 和 ” 和 ; 中的任何一个,意思就是这3个 字符以外的所有 字符将被选中(调换区域);
\1 即被选中的调换区域地点的新地位(复制到这个新地位)。

3.常常 手工清算一行一行地 删除文本 文件里面的空白行,其实可以交给Editplus更好的完成,在Editplus里面用调换功效,在调换对话框选中“ 正则表达式”复选框:
查找原 文件

Code:
^[ \t]*\n

调换部份为空就能够 删除空白行了,履行一下看看:)

abandon[2'b9nd2n]v.摈弃,废弃
abandonment[2'b9nd2nm2nt]n.废弃
abbreviation[2bri:vi'ei62n]n.缩写
abeyance[2'bei2ns]n.缓办,中断
abide[2'baid]v.遵照
ability[2'biliti]n.才能
able['eibl]adj.有才能的,能干的
abnormal[9b'n0:m2l]adj.反常的,反常的
aboard[2'b0:d]adv.船(车)上

1.
查找: (^[a-zA-Z0-0\-]+)(\[*.*\]+)(.*)
调换: @@@@@”\1″,”\2″,”\3″,
后果:
@@@@@”abandon”,”[2'b9nd2n]“,”v.摈弃,废弃”,
@@@@@”abandonment”,”[2'b9nd2nm2nt]“,”n.废弃”,
@@@@@”abbreviation”,”[2bri:vi'ei62n]“,”n.缩写”,
@@@@@”abeyance”,”[2'bei2ns]“,”n.缓办,中断”,
@@@@@”abide”,”[2'baid]“,”v.遵照”,
@@@@@”ability”,”[2'biliti]“,”n.才能”,
@@@@@”able”,”['eibl]“,”adj.有才能的,能干的”,
@@@@@”abnormal”,”[9b'n0:m2l]“,”adj.反常的,反常的”,
@@@@@”aboard”,”[2'b0:d]“,”adv.船(车)上”,

2.
查找: \n
调换:
注: 要次调换内容为空
后果:
@@@@@”abandon”,”[2'b9nd2n]“,”v.摈弃,废弃”,@@@@@”abandonment”,”[2'b9nd2nm2nt]“,”n.废弃”,@@@@@”abbreviation”,”[2bri:vi'ei62n]“,”n.缩写”,@@@@@”abeyance”,”[2'bei2ns]“,”n.缓办,中断”,@@@@@”abide”,”[2'baid]“,”v.遵照”,@@@@@”ability”,”[2'biliti]“,”n.才能”,@@@@@”able”,”['eibl]“,”adj.有才能的,能干的”,@@@@@”abnormal”,”[9b'n0:m2l]“,”adj.反常的,反常的”,@@@@@”aboard”,”[2'b0:d]“,”adv.船(车)上”,@@@@@”abolish”,”[2'b0li6]“,”v.废止,撤消”,@@@@@”abolition”,”[9b2'li62n]“,”n.废止,撤消”

3.
查找: @@@@@
调换: \n
后果:
“abandon”,”[2'b9nd2n]“,”v.摈弃,废弃”,
“abandonment”,”[2'b9nd2nm2nt]“,”n.废弃”,
“abbreviation”,”[2bri:vi'ei62n]“,”n.缩写”,
“abeyance”,”[2'bei2ns]“,”n.缓办,中断”,
“abide”,”[2'baid]“,”v.遵照”,
“ability”,”[2'biliti]“,”n.才能”,
“able”,”['eibl]“,”adj.有才能的,能干的”,
“abnormal”,”[9b'n0:m2l]“,”adj.反常的,反常的”,
“aboard”,”[2'b0:d]“,”adv.船(车)上”,
“abolish”,”[2'b0li6]“,”v.废止,撤消”,
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值