专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » editplus正则替换:EditPlus 正则表达式替换字符串详解 »正文

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

来源: 发布时间:星期一, 2009年9月7日 浏览:95次 评论:0
EditPlus查找替换文件中查找支持以下正则表达式:
Expression Description
\t Tab character.
\n New line.
. Matches any character.
| Either expression _disibledevent=>正则表达式应用——替换指定内容到行尾
原始文本如下面两行
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]”表示连续出现 3个数字
“\0”代表第个“[0-9]”对应原型“\1”代表第 2个“[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打开待处理文本类型文件
①、选择“查找”菜单“替换”命令弹出文本替换对话框选中“正则表达式”复选框表明我们要在查找、替换中使用正则表达式然后选中“替换范围”中“当前文件”表明对当前文件操作
②、单击“查找内容”组合框右侧按钮出现下拉菜单
③、下面操作添加正则表达式该表达式代表待查找空行(窍门技巧提示:空行仅包括空格符、制表符、回车符且必须以这 3个符号的作为开头并且以回车符结尾查找空行关键是构造代表空行正则表达式)
直接在”查找”中输入正则表达式“^[ \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.废除取消”,
4. 任务完成
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: