merhaba bu benim C++ regexC++ Regex Hız Optimize
regex MyRGX(R"~((\w*)\s*[(]([^;]*)[)]\s*[;])~");
ve bu benim dize
Data1 (
anything1
);
bu regex Data1
almak ve her şeyi herhangi koşulu ile ();
arasında var. ama ben Data1
gibi 50'den fazla blok var, bu regex arama hızı pcre eşdeğer regex daha düşük olacak. Sanırım sahip olduğum bu regex, hız için optimize edilmiyor. Bu koşulların hızını artıran herhangi bir öneriniz var mı (();
ve ... arasında her şey var mı?)? Bir önceki soruda şüpheli olarak
Dizginiz bana bir dize gibi görünmüyor. – nwp
Sadece olduğunu düşünüyorsun. – Elh48
Önerilerim: Mümkün olduğunda yakalamayan grupları ('(? :)' yerine '()') kullanın. Mümkün olduğunda '+' yerine '+' kullanın ('' 'boş dizgiyle eşleştiğinden,' + 'ile karşılaştırıldığında keşfedilecek daha fazla dal vardır. Son olarak, [yapıcı] [http://en.cppreference.com/w/cpp/regex/basic_regex] [http://en.cppreference.com/w/ adresinden] kullanabilirsiniz. Daha hızlı bir yapıya (daha yavaş bir yapım maliyetine) sahip olmak için cpp/regex/basic_regex/basic_regex). regex_constants :: ECMAScript |, regex_constants :: optimize I ") +; *;) [)] \ s * [] \ * [(] ([^] s + w ~ ((\)" 'normal ifade r (R önerebilir); '. – Cornstalks