惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
S
SegmentFault 最新的问题
D
DataBreaches.Net
H
Help Net Security
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
Martin Fowler
Martin Fowler
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
罗磊的独立博客
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
博客园 - 三生石上(FineUI控件)

博客园 - 不做懒人

一个用户登录验证的类 用C#实现C/S模式下软件自动在线升级[转载] 实现.NET应用程序的自动更新[转载] 高效 Ini文件访问类(C#编写,用于Windows Mobile) C#实现“新华网头条的图片新闻” 终于得空,写两句了...... CSS+DIV技巧两则(居中,高度自适应) - 不做懒人 - 博客园 下载:Visual Studio 2008 SDK VS2008——软件开发更智能 08年了,准备写点东西了~~ 想设计一个简单的RSS在线阅读程序,欢迎大伙提供意见 [转载]在SQL SERVER如何添加数据用户 大量并发访问xml和数据库的效率问题 Asp.net中下拉框绑定值的怪现象。 字符串数组的一些处理方法总结 [转载]知识不一定会带来金钱,挣钱靠的是能力 [转载]2006年优秀网页UI设计风格剖析 [转载]网页设计技巧系列之文本排版 [转载]网页布局的四种基本型与十二种混合型
正则表达式替换字符串的一个技巧 --- 可用于关键词变红色 ...
不做懒人 · 2008-04-04 · via 博客园 - 不做懒人

前两天碰到一个问题,就是想把一段文本中满足正则表达式匹配的所有项都用红色标记,醒目显示。

如果,要匹配的是一个固定的关键词,replace方法就可以轻松解决了,如果是多个匹配项,或者干脆是正则表达式匹配,那就只能想其他的办法了。

于是,看了js的正则帮助文档,使用如下的方法解决了问题。

js关键语句如下:
var origstr = "";//原始字符串
var reg = new RegExp("正则表达式", "mgi");

var retstr = origstr.replace(reg, function($1){return "<font color=red>"+ $1 + "</font>";});

retstr输出即可。

 另:
在C#中,字符串和Regex都有replace方法,当然正则可以完成string的replace工作,但是当字符串比较小(个人认为几百字节以内)时,使用正则反而会造成性能低下。
如果要替换的为多个匹配项,宁可使用多次replace也会比使用正则有更好的性能。


另外附上一个小技巧:
在往页面填充大量html内容时,常用的做法是htmlobj.innerHTML = "";
测试发现,用label/span/td填充一个50k的html内容,时间基本在20秒以上,而用div/p填充,基本在1-2秒就好了。