ASP及ASP.NET页面代码正则表达式

Class name

Regular expression

AspCodeRegex

\G<%(?!@)(?<code>.*?)%>

Parses a code block of the form <% code %>.

AspExprRegex

\G<%\s*?=(?<code>.*?)?%>

Parses an expression block of the form <%=expression %>.

CommentRegex

\G<%--(([^-]*)-)*?-%>

Parses a comment of the form <%-- comment--%>.

DatabindExprRegex

\G<%#(?<code>.*?)?%>

Parses a data binding expression of the form <%# expressions %>.

DataBindRegex

\G\s*<%\s*?#(?<code>.*?)?%>\s*\z

Parses a data binding of the form <%#expressions %>.

DirectiveRegex

\G<%\s*@(\s*(?<attrname>\w[\w:]*(?=\W))(\s*(?<equal>=)\s*"(?<attrval>[^"]*)"|\s*(?<equal>=)\s*'(?<attrval>[^']*)'|\s*(?<equal>=)\s*(?<attrval>[^\s%>]*)|(?<equal>)(?<attrval>\s*?)))*\s*?%>

Parses a directive of the form <%@directive %>.

EndTagRegex

\G</(?<tagname>[\w:\.]+)\s*>

Parses an end tag of the form </tagname>.

GTRegex

[^%]>

Parses a greater-than character that is not part of a tag.

IncludeRegex

\G<!--\s*#(?i:include)\s*(?<pathtype>[\w]+)\s*=\s*["']?(?<filename>[^\"']*?)["']?\s*-->

Parses an #include directive of the form .

LTRegex

<[^%]

Parses a less-than character that is not part of a tag.

RunatServerRegex

runat\W*server

Parses the runat attribute of the form runat="server".

ServerTagsRegex

<%(?![#$])(([^%]*)%)*?>

Parses server tags of the form <% data %>.

SimpleDirectiveRegex

<%\s*@(\s*(?<attrname>\w[\w:]*(?=\W))(\s*(?<equal>=)\s*"(?<attrval>[^"]*)"|\s*(?<equal>=)\s*'(?<attrval>[^']*)'|\s*(?<equal>=)\s*(?<attrval>[^\s%>]*)|(?<equal>)(?<attrval>\s*?)))*\s*?%>

Parses a directive of the form <%@directive %>. Note that the only difference between this regex and the one used by the DirectiveRegex is the lack of the \G, which forces the next match to start where the last match ended.

TagRegex

\G<(?<tagname>[\w:\.]+)(\s+(?<attrname>\w[-\w:]*)(\s*=\s*"(?<attrval>[^"]*)"|\s*=\s*'(?<attrval>[^']*)'|\s*=\s*(?<attrval><%#.*?%>)|\s*=\s*(?!'|")(?<attrval>[^\s=/>]*)(?!'|")|(?<attrval>\s*?)))*\s*(?<empty>/)?>

Parses a beginning tag of the form <tagname> or <asp:tagname>, including any attributes and their values.

TextRegex

\G[^<]+

Can be used to parse the text between two tags. Use TagRegex to find the ending of a beginning tag and then use this class to find any text between it and the next tag.

posted on 2012-02-23 12:20  Richard.Tsui  阅读(167)  评论(0编辑  收藏  举报