如何分析.NET程序中的正则表达式性能问题
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关如何分析.NET程序中的正则表达式性能问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。之前在web程序中错误的使用了Re
千家信息网最后更新 2026年11月02日如何分析.NET程序中的正则表达式性能问题
这篇文章将为大家详细讲解有关如何分析.NET程序中的正则表达式性能问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
之前在web程序中错误的使用了RegexOptions.Compiled 选项,导致每个页面打开整度慢了接近0.5秒..
因为是在httpModule里过滤关键字,对性能比较敏感,做了个简单测试.
Stopwatch w = new Stopwatch(); w.Start(); Regex r = new Regex(@".*", RegexOptions.Compiled ); Match m = r.Match("aaa"); if (m.Success) { w.Stop(); Response.Write(w.Elapsed.TotalSeconds.ToString("0.0000000")); }不加RegexOptions.Compiled ,计时器显示0.0000x,添加RegexOptions.Compiled 后计数器显示0.00x
如果正则式写的在复杂一些,那么仅编译时间都要0.x秒了. 看来大部分应用使用RegexOptions.Compiled 反而会降低性能,除非是很BT的应用
.NET的正则表达使用NFA引擎,NFA引擎正则式的写法对性能的很大.
Regex r = new Regex(@"(a|[^a]+)*^" ); string str="111111111111111111111111111111111"; Match m = r.Match(str); if (m.Success) { Response.Write(w.Elapsed.TotalSeconds.ToString("0.0000000")); }
只要str长度超过26基本上很匹配难完成.
以下这些都类似
(b|[^b]+)*^ (c|[^c]+)*^ (^|[^^]+)*(^|[^^]+)*^ (^|[^^]+|[^^]*)*^
看来正则的写法对性能影响挺大的
关于如何分析.NET程序中的正则表达式性能问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
性能
正则
程序
表达式
问题
分析
内容
写法
引擎
文章
更多
知识
篇文章
应用
不错
复杂
很大
关键
关键字
大部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司
新华互联网科技学校
互联网科技有限公司经营范围
科技企业和互联网企业
紫鲸互联网科技
北京禾田雨橡互联网科技
科技互联网公司logo
互联网科技logo
互联网科技英文翻译
镁科技互联网资讯平台
丰台科技园 互联网公司
互联网科技素材视频竖屏
上海电发互联网科技有限公司
中国科技互联网公司收入
互联网校园科技培训
上海宁丞科技互联网
湖南一路畅行互联网科技
朱啸虎曾投资哪些互联网科技企业
互联网科技大赛获奖感言
河南商务圈互联网科技有限公司
耶加雪菲
互联网科技有限公司
南京欣网互联网络科技
国外互联网科技网站
云创客互联网科技公司
科技与互联网哪个更好
河南猎农互联网科技有限公司
江阴互联网智能科技产品进口
佛山市翊博互联网络科技有限公司
黑科技 体验场景 互联网大会