成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

.NET程序中的正則表達式性能問題

開發(fā) 后端
筆者在Web程序中錯誤的使用了RegexOptions.Compiled選項導致性能下降,這里將探討一下.NET程序中的正則表達式性能問題。

之前在web程序中錯誤的使用了RegexOptions.Compiled 選項,導致每個頁面打開整度慢了接近0.5秒..
因為是在httpModule里過濾關鍵字,對性能比較敏感,做了個簡單測試.  

  1. Stopwatch w = new Stopwatch();  
  2.           w.Start();  
  3.           Regex r = new Regex(@".*", RegexOptions.Compiled );  
  4.             Match m = r.Match("aaa");  
  5.             if (m.Success)  
  6.             {  
  7.                 w.Stop();  
  8.                 Response.Write(w.Elapsed.TotalSeconds.ToString("0.0000000"));            
  9.             } 

不加RegexOptions.Compiled ,計時器顯示0.0000x,添加RegexOptions.Compiled 后計數器顯示0.00x
如果正則式寫的在復雜一些,那么僅編譯時間都要0.x秒了. 看來大部分應用使用RegexOptions.Compiled 反而會降低性能,除非是很BT的應用

.NET的正則表達使用NFA引擎,NFA引擎正則式的寫法對性能的很大. 

  1.  Regex r = new Regex(@"(a|[^a]+)*^" );  
  2.  string  str="111111111111111111111111111111111";  
  3. Match m = r.Match(str);  
  4.              if (m.Success)  
  5.              {  
  6.                  Response.Write(w.Elapsed.TotalSeconds.ToString("0.0000000"));  
  7.                 
  8.              } 


只要str長度超過26基本上很匹配難完成.
以下這些都類似

  1. (b|[^b]+)*^  
  2. (c|[^c]+)*^  
  3.  (^|[^^]+)*(^|[^^]+)*^    
  4. (^|[^^]+|[^^]*)*^ 

看來正則的寫法對性能影響挺大的

【編輯推薦】

  1. 介紹幾個C#正則表達式工具
  2. 使用C#正則表達式匹配相關字符串
  3. C#正則表達式備忘錄
  4. ASP.NET正則表達式的命名組和四向處理功能
  5. .NET正則表達式的歷史
責任編輯:彭凡 來源: 博客園
相關推薦

2009-08-07 14:24:31

.NET正則表達式

2012-01-12 10:21:57

正則表達式

2021-05-25 09:18:04

正則表達式Linux字符串

2018-09-27 15:25:08

正則表達式前端

2009-08-07 14:31:40

.NET正則表達式基礎

2020-09-04 09:16:04

Python正則表達式虛擬機

2020-11-04 09:23:57

Python

2011-05-11 17:40:30

PHP正則表達式

2024-09-14 09:18:14

Python正則表達式

2009-08-24 17:14:41

正則表達式C#和.NET框架

2009-03-24 08:56:15

正則表達式格式清理字符串

2010-01-05 17:46:04

.NET Framew

2024-01-04 08:25:03

String表達式工具

2009-10-27 10:14:54

VB.NET正則表達式

2010-07-14 10:06:55

Perl正則表達式

2011-04-25 08:44:34

C#正則表達式

2010-08-09 14:30:39

Flex正則表達式

2009-09-16 13:14:10

Ereg正則表達式

2011-08-23 17:46:09

LUA正則表達式模式

2017-05-12 10:47:45

Linux正則表達式程序基礎
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本一区二区三区精品视频 | 在线观看www视频 | 久久国产综合 | 狠狠色综合久久丁香婷婷 | 久久国产精品久久 | 国精产品一区二区三区 | 一级毛片成人免费看a | 亚洲一区二区三区在线观看免费 | 精品一区二区在线看 | 国产欧美一区二区三区在线看 | 日日淫| 久久夜视频 | 日本欧美国产 | 欧美性乱 | 亚洲精品乱码8久久久久久日本 | 盗摄精品av一区二区三区 | 久久伊人在 | 欧美午夜精品 | 国产一区二区三区久久久久久久久 | 不卡一区| 国产我和子的乱视频网站 | 97精品国产97久久久久久免费 | 国产区在线观看 | aaa天堂| 在线观看黄色 | 亚洲成人国产精品 | 日本激情视频中文字幕 | 久久国产精品色av免费观看 | 国产精品久久久久久久久婷婷 | 欧美一级高清片 | 欧美一区二区三区一在线观看 | 久久久久欧美 | 中国一级特黄真人毛片 | 欧美中国少妇xxx性高请视频 | 欧美一级二级在线观看 | 91影库| 在线午夜| 欧美国产在线一区 | 91啪影院 | 狠狠干综合视频 | 国产情侣在线看 |