我想从视图页面提取MasterPage
值指令。我想要最快的方式来做到这一点,考虑到一个非常大的aspx
页面,以及一个非常小的。使用正则表达式从字符串中提取字符串
我认为最好的办法是做有两个阶段:
提取从视图页面指令部分(使用正则表达式):
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
然后,提取值里面
MasterPageFile
属性。
结果需要是:~/Views/Shared/Site.Master
。
我可以从某人的帮助下实施吗?我非常想只使用正则表达式,但我不是正则表达式专家。
另一件事,你认为正则表达式是最快的方法吗?
我构建了一个自动化测试代码,用于测试大量视图页面。你认为这是最快的方法吗?在一个非常大的aspx文件中,正则表达式可能会扫描全部页面,或者它是否优化为仅查找第一个匹配的大小写(在本例中为页面指令块)。谢谢! – stacker 2010-05-04 17:27:00
如果.aspx非常大,您可能只想读取第一个_n_行,然后在其上运行正则表达式。然后你只有很少的正则表达式可以操作,你将花更少的时间来加载页面。磁盘IO往往比CPU慢:-) – driis 2010-05-04 17:36:12
Regex.Match方法将返回第一个匹配项,然后停止搜索。 – driis 2010-05-04 17:37:29