我想知道爲什麼彙編這樣的正則表達式佔用了我的RAM的70%,導致激烈的交換和平均負載16:
strcpy(regexStr,"^[a-z]{0,20000}$");
regcomp(®ex , regexStr , REG_NOSUB | REG_EXTENDED);
執行時間大約爲幾分鐘(必須先殺死進程)。 ^[a-z]{0,2000}$
(2,000,不是20,000)的執行時間大約是100ms,這對我來說非常重要。
我用它來檢查一個模式,同時檢查長度。我發現正則表達式對於兩者都很方便。難道我做錯了什麼 ?
您正在使用哪種正則表達式引擎? – marcog 2011-02-04 16:02:43
@marco:就語言而言,我只能猜測C或C++(`strcpy`,`regcomp`) – 2011-02-04 16:06:47
@Matt這很明顯,但有很多C++正則表達式引擎。 – marcog 2011-02-04 16:09:23