C#中Regex.Match的静态版本与实例版本

Joe*_*Fan 4 c# regex performance

我注意到一些使用静态方法的代码:

Regex.IsMatch([someRegexStr], [someInputStr])
Run Code Online (Sandbox Code Playgroud)

是否值得用实例方法替换它?喜欢:

private readonly Regex myRegex = new Regex([someRegexStr]);

...

myRegex.IsMatch([someInputStr]);
Run Code Online (Sandbox Code Playgroud)

Cha*_* Im 6

一个在下面的链接的正则表达式的优化建议: 正则表达式优化吉姆·米契尔

为了在常用的正则表达式上获得更好的性能,请构造一个Regex对象并调用其实例方法.

文章包含有趣的主题,如缓存的正则表达式,并与优化建议一起编译正则表达式.


Jef*_*ser 5

缓存从静态调用创建的最后 15 个正则表达式内部表示。

我在“ .NET 正则表达式如何真正工作”中讨论了这一点以及内部工作原理。