Pourquoi cette expression régulière est-elle plus rapide ?

J'écris une sorte de client Telnet en C

请先 登录 后评论

3 réponses

Jonathan Works

La raison pour laquelle

请先 登录 后评论
Oskar

Voulez-vous vraiment exécuter l'expression régulière deux fois ? Sans avoir vérifié (méchant moi) j'aurais pensé que cela fonctionnerait bien :

public static string StripStringFormating(string formattedString)
{    
    return rTest.Replace(formattedString, string.Empty);
}

Si c'est le cas, vous devriez le voir tourner ~deux fois plus vite...

请先 登录 后评论
lordscarlet

Je ne sais pas si cela vous aidera avec ce sur quoi vous travaillez, mais il y a longtemps, j'ai écrit une expression régulière pour analyser les fichiers graphiques ANSI.

(?s)(?:e[(?:(d+);?)*([A-Za-z])(.*?))(?=e[|z)

Il renverra chaque code et le texte qui lui est associé.

Chaîne d'entrée :

<ESC>[1;32mThis is bright green.<ESC>[0m This is the default color.

Résultats :

[ [1, 32], m, This is bright green.]
[0, m, This is the default color.]
请先 登录 后评论