高亮显示语法匹配正则JS,待完善...
2009-02-05 16:50
447 查看
写了一个,不过要考虑的地方很多,转义字符....都没考虑进去
显示结果:
<mce:style><!-- *{font-size:12px;} --></mce:style><style mce_bogus="1">*{font-size:12px;}</style> <body> <div id="code"> <pre> private void aaaa() { Response.Write("aaaaa"); } // private void privateBB() // { // var a=1; // } /* private void ccccc() { var a="aaa";//****/****/ /* var b=1; */ } */ </pre> </div> </body> <mce:script type="text/javascript"><!-- var div = document.getElementById("code"); var str=div.innerHTML; var RulReg = {}; RulReg.KEWORD = //b(private|public|protected|void)+/b/gi; RulReg.DBLCLEAR = /([//]{2,})([^/n]+)/gi; RulReg.MULTICLEAR = /(//[/*]+(?:.|/n|/r)+[/*]+//)/gi; RulReg.FONT = /<font[^>]+>([^<]+)<//font>/gi; RulReg.QUTOR = /"([^"]+)"/gi; //关键字 str = str.replace(//b(private|public|protected|void)+/b/gi,"<font style="color:blue" mce_style="color:blue">$1</font>"); //字符串 str = str.replace(/("[^"]+")/gi,"<font style="color:red" mce_style="color:red">$1</font>"); //注释部分 "//" str = str.replace(RulReg.DBLCLEAR,function(){ var s = arguments[0]; s = s.replace(RulReg.FONT,"$1"); return s; }); str = str.replace(RulReg.DBLCLEAR,"$1<font style="color:green" mce_style="color:green">$2</font>"); //注释部分 "/* */" str = str.replace(RulReg.MULTICLEAR,function(){ var s = arguments[0]; s = s.replace(RulReg.FONT,"$1"); return s; }); str = str.replace(RulReg.MULTICLEAR,"<font style="color:green" mce_style="color:green">$1</font>"); div.innerHTML = str; // --></mce:script>
显示结果:
private void aaaa() { Response.Write("aaaaa"); } // private void privateBB() // { // var a=1; // } /* private void ccccc() { var a="aaa";//****/****/ /* var b=1; */ } */
相关文章推荐
- JS实现关键词高亮显示正则匹配
- 基于正则表达式匹配的C++语法高亮度显示
- 使用TextKit自定义UILabel,使用正则匹配链接(不同颜色显示)等,提高Label性能(Xcode 8.2.1 (8C1002) swift3最新语法)
- 基于正则表达式匹配的CSS语法高亮及代码格式化
- js正则 - 显示或者保存正则表达式匹配的部分内容
- js 正则练习之语法高亮
- JS根据文本框内容匹配并高亮显示
- js处理文章内容匹配关键词,关键词高亮显示效果的实现
- JS实现匹配文字高亮显示
- JS正则匹配特殊字符
- 设置vim语法高亮显示和自动缩进
- js正则表达式语法
- js实现空心正方形边框循环高亮显示
- SSH 下使vim语法高亮显示 && 终端下vim配置
- Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"
- 通过完善邮箱匹配来一步步学习正则表达
- js正则表达式语法
- JS 正则表达式否定匹配(正向前瞻)
- JS匹配任意字符的正则表达式写法