正規表示式與模版解析的效能比較

2021-09-08 02:42:04 字數 1530 閱讀 1954

---正規表示式與模版解析的效能比較

//使用正規表示式獲取需要的貨號

//對於企業工單匯入時對工單表頭中的貨號是否存在於工單工作表與歷史表中進行驗證

private  bool isverfiyheaditemno(string templatename)

string itemno=getitemno(txt);

linesum++;                    

if(    itemno!=string.empty)

}}                    

#endregion

}}return result;

}//根據模版解析當前報文的行(按行解析並返回物件)

//對於企業工單匯入時對工單表頭中的貨號是否存在於工單工作表與歷史表中進行驗證

private  bool isverfiyheaditemnoline(string templatename)

txtline line=new txtline(txt);

msg.addline(line);

ilist tmpwo_head=template.translatetxt(msg);

ems_edi_wo_head head=tmpwo_head[0] as ems_edi_wo_head;

string itemno=head.item_no;

linesum++;                    

if(    itemno!=string.empty)

}msg.clear();

}                    

#endregion

}}return result;

}//實體類賦值

///

/// 用模版解析當前報文的行(按行解析並返回物件)

///

/// 報文行物件

///

public imodel translateline(txtline line)

///

/// 將報文中當前行的資訊放入model中

///

///

///

private void setmodelproperty(object model,string txt)

{            

for(int i=1;i第二次:費時0分0秒500毫秒

第三次:費時0分0秒500毫秒

第四次:費時0分0秒515毫秒

第五次:費時0分0秒578毫秒

-------------------

正則解析驗證共644條記錄

第一次:費時0分0秒406毫秒

第二次:費時0分0秒390毫秒

第三次:費時0分0秒390毫秒

第四次:費時0分0秒390毫秒

第五次:費時0分0秒406毫秒

模板解析/正則解析

2639/1982=133.15%

正則解析/模板解析

1982/2639=75.10%

Replace方法與正規表示式的效能比較

今天做專案時遇到乙個小需求 要將字串中的回車符號替換成其它符號 比如 考慮到不同的情況下,有些系統中是用 r n作回車符,有些僅用 n就代表回車符了。以前都是用string類的replace方法連線替換多次來處理的,今天突然想改為正規表示式一次性搞定,但又怕效能上消耗太大,於是寫了下面的測試 usi...

正規表示式解析

正規表示式,又稱正規表示式,常規表示式,是使用單個字串來描述.匹配一系列符合某個句法規則的字串,在很多文字編輯器中,正規表示式通常被用來檢索.替換那些符合某個模式的文字.正規表示式的語法可以自行搜尋,通常分為一下幾個方面 1 字元 可以使用普通字元匹配,例 a 使用預定義字元表示給定範圍中的某個字元...

正規表示式解析

string finalsql table23 select from table where id 10 matcher m pattern.compile a za z w a za z matcher finalsql if m.find 正規表示式實現的功能是實現分組,將finalsql的左...