AspCodeRegex Class

Provides a regular expression to parse an ASP.NET code block.

Namespace: System.Web.RegularExpressions
Assembly: System.Web.RegularExpressions (in system.web.regularexpressions.dll)

Public Class AspCodeRegex
	Inherits Regex
	Implements ISerializable
Dim instance As AspCodeRegex

public class AspCodeRegex extends Regex implements ISerializable
public class AspCodeRegex extends Regex implements ISerializable
Not applicable.

The AspCodeRegex class provides a compiled regular expression to parse an ASP.NET code block (<%%>).


The System.Web.RegularExpressions classes are meant to be used by the .NET Framework to parse ASP.NET pages and are not always practical for general applications. For example, many of these classes match only the beginning of a string.

The predefined regular expression pattern used by the AspCodeRegex class is \G<%(?!@)(?<code>.*?)%>. This regular expression returns an entire inline code block, including its beginning and ending tags and all of its contents. However, for a match to occur, the code block must start at the beginning of the input stream. For multiple inline code blocks to be found in a call to the AspCodeRegex object's Matches method, they must be immediately contiguous to one another. That is, the %> tag that terminates the previous inline code block must be immediately followed by the <% tag that begins the next inline code block, without any intervening characters.


In addition to returning inline code blocks, an AspCodeRegex object also returns inline expression blocks (which are delimited by <%=%> tags) and data-binding expressions (which are delimited by <%#%> tags).

You can retrieve all inline code blocks regardless of their position in an input string in either of two ways:

  • By instantiating a Regex object whose regular expression pattern is <%(?!@)(?<code>.*?)%>.

  • By using the String.IndexOf overload to locate the next occurrence of a code render block in a string, and then using this position when calling the AspCodeRegex object's Match method. The following example illustrates how to use this technique with the AspCodeRegex object to extract all the inline code blocks in a string.

The following example demonstrates the AspCodeRegex class. The example illustrates that an inline code block matches the regular expression only if it is at the beginning of a string or if it immediately follows the preceding match.


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions