我们经常使用一些工具进行替换操作,有些工具在替换时支持使用正则表达式查找,然后替换。通常有两
种情况:
简单替换
<li class="tab_cur" onclick="DynamicForm.tab(this,'web');" onmousedown="ClickMonkey.log
('haoweb');">网 页</li>
<li class="tab_item" onclick="DynamicForm.tab(this,'video');" onmousedown="ClickMonkey.log
('haovideo');">视 频</li>
<li class="tab_item" onclick="DynamicForm.tab(this,'image');" onmousedown="ClickMonkey.log
('haoimage');">图 片</li>
<li class="tab_item" onclick="DynamicForm.tab(this,'tieba');" onmousedown="ClickMonkey.log
('haotieba');">贴 吧</li>
1:将<li>替换成<a>或<span>或<div>等,这个很简单,直接查找<li>的开始结束标签替换即可,连正则表
达式不用就可操作
2:将符合 DynamicForm.tab(this,'.*');这个正则表达式的字符串替换成其它固定的字符串,这个用正则
表达式也可很简单的操作
这两种非常简单,大家都会的,跟没说一样^-^。
复杂替换
这个才是本文重点,还是以上面的<li>片段为例,
将 <li class="tab_cur" onclick="DynamicForm.tab(this,'web');" onmousedown="ClickMonkey.log
('haoweb');">网 页</li>
转换为: <div id="tab_cur" onclick="click('haoweb')" onmousedown="down('web')">网 页</div>,
其它均类似, 这种情况应该怎么办呢,当然最笨的办法就是一个一个手工替换(希望看了本文后你再也不
要在这种情况进行体力劳动了 ^-^ ),现在我们可以利用正则表达式来替换。
工具1:Editplus,跟这个同级别的工具应用都可以,本人习惯就是使用这个,其它的没用过,大家自己去
试一下好了
打开替换窗口(Ctrl+H):
查找:<li class="(.*)" onclick="DynamicForm.tab\(this,'(.*)'\);"
onmousedown="ClickMonkey.log\('(.*)'\);">(.*)</li>
替换: <div id="\1" onclick="click('\3')" onmousedown="down('\2')">\4</div>
点击全部替换,结果如下:
<div id="tab_cur" onclick="click('haoweb')" onmousedown="down('web')">网 页</div>
<div id="tab_item" onclick="click('haovideo')" onmousedown="down('video')">视 频</div>
<div id="tab_item" onclick="click('haoimage')" onmousedown="down('image')">图 片</div>
<div id="tab_item" onclick="click('haotieba')" onmousedown="down('tieba')">贴 吧</div>
工具2:Eclipse
查找:<li class="(.*)" onclick="DynamicForm.tab\(this,'(.*)'\);"
onmousedown="ClickMonkey.log\('(.*)'\);">(.*)</li>
替换: <div id="\1" onclick="click('\3')" onmousedown="down('\2')">\4</div>
或 <div id="$1" onclick="click(' $ 3')" onmousedown="down(' $ 2')"> $ 4</div>
解释:上面的正则表达式其实是分成了二部分,一部分是固定的字符,像<li class="这样的,还有一部分
是(.*)这样的真正的正则表达式,
使用 <li class="(.*)" onclick="DynamicForm.tab\(this,'(.*)'\);" onmousedown="ClickMonkey.log
\('(.*)'\);">(.*)</li> 匹配 <li class="tab_cur" onclick="DynamicForm.tab(this,'web');"
onmousedown="ClickMonkey.log('haoweb');">网 页</li>
\0 表示查找到的整个字符串: <li class="tab_cur" onclick="DynamicForm.tab(this,'web');"
onmousedown="ClickMonkey.log('haoweb');">网 页</li>
\1 表示符合第1个正则表达式( 第1个(.*) )的内容: tab_cur
\2 表示 符合 第2个正则表达式 ( 第1个(.*) )的内容: web
\3 表示 符合 第3个正则表达式 ( 第1个(.*) )的内容: haoweb
\4 表示 符合 第4个正则表达式 ( 第1个(.*) )的内容: 网 页
当能使用上面这样的占位符来代表对应的内容时,这个时候,我们就可以随便组合我们需要替换成的内容
了:
<div id="\1" onclick="click('\3')" onmousedown="down('\2')">\4</div>
分享到:
相关推荐
eclipse正则表达式插件regex util
可用于Eclipse的正则表达式插件,要求已安装JVM
通过正则表达式生成满足条件的随机数据
正则表达式的替换.php 正则表达式的替换 正则表达式的拆分.php 正则表达式的拆分 表单验证.php 表单验证 UBBCode....
正则表达式调试编辑器, eclipse插件Regex Util,装好后,即可从视图打开Regex Util视图了,比较好用!
正则表达式的java应用 为eclipse的工程文件。
eclipse regex正则表达式插件
词法分析程序生成器实现将正则表达式、NFA、DFA、DFA最小化词法分析程序 词法分析程序生成器是一个工具,它能够根据给定的正则表达式自动生成词法分析器。这个生成器通常包括以下几个步骤:正则表达式的转换、NFA...
eclipse插件 正则表达式.可以各种模式匹配,便于开发
正则表达式测试工具正则表达式测试工具,使用Java开发,方便跨平台离线使用.Java,Python和C#当前支持正则表达式实现引擎,当前版本为beta。使用JavaFX 11组件开发,请遵循BSD协议,您可以免费获取和修改该程序,...
eclipse插件正则表达式
主要介绍了Eclipse使用正则表达式快速修改代码的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
QuickREx2 是 Eclipse 的正则表达式插件。 它具有即时评估、代码完成、组导航、不同的引擎和正则表达式库。 该项目基于 QuickREx (http://sourceforge.net/projects/quickrex)。 除了原始插件之外,这个插件还有一个...
选择正则表达式,替换全部即可。 您可能感兴趣的文章:javascript匹配js中注释的正则表达式代码php使用正则表达式去掉html中的注释方法删除javascript中注释语句的正则表达式使用正则表达式匹配tsql注释语句...
在eclipse等java开发工具中写CSS的验证检查工具。很好的
自动机Clojure库,使用从NFA到DFA的经典方法来实现正则表达式。 该库仅用于学习目的,请勿在生产中使用。用法导入使用(use automata.core) 您可以使用regex-nfa和regex宏定义正regex-nfa regex 。 例子: ( regex-...
使用方法:直接放入eclipse的plug目录即可 Eclipse中选择window-->show view--other Regex Util即可
Eclipse 正则表达式测试插件