【发布时间】:2013-04-29 22:22:59
【问题描述】:
所以我将我的正则表达式分成两半,发现这一半导致 cpu 在负载下挂起。我可以做些什么来帮助节省性能?我真的找不到要刮的地方。
private string pattern =
@"(<a\s+href\s*=\s*(\""|')http(s)?://(www.)?([a-z0-9]+\-?[a-z0-9]+\.)?wordpress.org(\""|'))";
Regex wordPressPattern = new Regex(regexPattern, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
【问题讨论】:
-
编译正则表达式有影响吗?
-
@ChuckConway 我更新了代码,我将其标记为已编译。我相信这就是您所指的。
-
正在评估的字符串有多大?
-
使用 HTMLAgilityPack 解析 html。不要使用正则表达式。 stackoverflow.com/a/1732454/47589
-
顺便说一句,您的意思是
(www\.)而不是(www.)?
标签: c# regex performance