Regular Expression Negation Matching Negation Matching a Character Examples Negation Matching a Character Group Examples Negation Matching Character Groups Examples See also Source/Referencee
Regular Expression Negation Matching
Negation Matching a Character
Regular expressions for negation matching a character. [^abc] means matching a character that is not a and b and c:
<(?(\w)[^p]*?)>negation matching a character p <(?(\w)[^ip]*?)>negation matching a character group i, and p
Examples
Examples Of nagation mtching a character
ASP.NET Code Input:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script runat="server">
Sub Page_Load()
Dim xstring As String = ""&vbCrLf
xstring = xstring & " <<div>>"&vbCrLf
xstring = xstring & " <<h1>>Regular Expression"&vbCrLf
xstring = xstring & " Matching a Tag<</h1>>"&vbCrLf
xstring = xstring & " <<p>><<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>"&vbCrLf
xstring = xstring & "Matching <</span>>a<</span>> Tag<</span>><</p>><<br />>"&vbCrLf
xstring = xstring & " <<p>><<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>Matching <</span>>a<</span>> Tag<</span>><</p>><<br />>"&vbCrLf
xstring = xstring & " <<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>Matching <</span>>a<</span>> Tag<</span>><<br />>"&vbCrLf
xstring = xstring & " <<em>><</em>><<h1->>Regular Expression Matching a Tag<</h1>>"&vbCrLf
xstring = xstring & " <</div>>"&vbCrLf
Dim xmatchstr As String
xmatchstr = "Given string: """ & xstring & """<br />"
xmatchstr = xmatchstr & showresult(xstring,"<(?(\w)[^p]*?)>",RegexOptions.None)
xmatchstr = xmatchstr & showresult(xstring,"<(?(\w)[^ip]*?)>",RegexOptions.None)
lbl01.Text = xmatchstr
End Sub
Function showresult(xstring,xpattern,xoption)
Dim xmatches As MatchCollection
Dim xmatchstr As String = ""
Dim xint As Integer
xmatchstr = xmatchstr & "<br />Result of Regex.Matches(string,""" & xpattern & """," & xoption & "): <br />"
xmatches = Regex.Matches(xstring,xpattern,xoption)
xmatchstr = xmatchstr & "->Result of MatchCollection.Count: """
xmatchstr = xmatchstr & xmatches.Count & """<br />"
For xint = 0 to xmatches.Count - 1
xmatchstr = xmatchstr & "->->Result of MatchCollection("& xint & ").Value, Index, Length: """
xmatchstr = xmatchstr & xmatches(xint).Value & ", " & xmatches(xint).Index & ", " & xmatches(xint).Length & """<br />"
Next
Return xmatchstr
End Function
</script>
</head>
<body>
<%Response.Write("<p>Results on "& Request.ServerVariables("SERVER_SOFTWARE") & " .net: " & System.Environment.Version.ToString & " " & ScriptEngine & " Version " & ScriptEngineMajorVersion & "." & ScriptEngineMinorVersion & "</p>")%>
<% Response.Write ("<h1>This is a Sample Page of Nagation Matching a Character</h1>") %>
<p>
<%-- Set on Page_Load --%>
<asp:Label id="lbl01" runat="server" />
</p>
</body>
</html>
HTML Web Page Embedded Output:
Negation Matching a Character Group
Regular expressions for negation matching a character group.
<(?!div>)(?(\w)[^p]*?)> using zero-width negative lookahead for negation matching a character group. <(?(\w)[^p]*?)(?<!<div)>using zero-width negative lookbehind for negation matching a character group.
Examples
Examples Of nagation mtching a character
ASP.NET Code Input:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script runat="server">
Sub Page_Load()
Dim xstring As String = ""&vbCrLf
xstring = xstring & " <<div>>"&vbCrLf
xstring = xstring & " <<h1>>Regular Expression"&vbCrLf
xstring = xstring & " Matching a Tag<</h1>>"&vbCrLf
xstring = xstring & " <<p>><<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>"&vbCrLf
xstring = xstring & "Matching <</span>>a<</span>> Tag<</span>><</p>><<br />>"&vbCrLf
xstring = xstring & " <<p>><<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>Matching <</span>>a<</span>> Tag<</span>><</p>><<br />>"&vbCrLf
xstring = xstring & " <<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>Matching <</span>>a<</span>> Tag<</span>><<br />>"&vbCrLf
xstring = xstring & " <<em>><</em>><<h1->>Regular Expression Matching a Tag<</h1>>"&vbCrLf
xstring = xstring & " <</div>>"&vbCrLf
Dim xmatchstr As String
xmatchstr = "Given string: """ & xstring & """<br />"
xmatchstr = xmatchstr & showresult(xstring,"<(?!div>)(?(\w)[^p]*?)>",RegexOptions.None)
xmatchstr = xmatchstr & showresult(xstring,"<(?(\w)[^p]*?)(?<!<div)>",RegexOptions.None)
lbl01.Text = xmatchstr
End Sub
Function showresult(xstring,xpattern,xoption)
Dim xmatches As MatchCollection
Dim xmatchstr As String = ""
Dim xint As Integer
xmatchstr = xmatchstr & "<br />Result of Regex.Matches(string,""" & xpattern & """," & xoption & "): <br />"
xmatches = Regex.Matches(xstring,xpattern,xoption)
xmatchstr = xmatchstr & "->Result of MatchCollection.Count: """
xmatchstr = xmatchstr & xmatches.Count & """<br />"
For xint = 0 to xmatches.Count - 1
xmatchstr = xmatchstr & "->->Result of MatchCollection("& xint & ").Value, Index, Length: """
xmatchstr = xmatchstr & xmatches(xint).Value & ", " & xmatches(xint).Index & ", " & xmatches(xint).Length & """<br />"
Next
Return xmatchstr
End Function
</script>
</head>
<body>
<%Response.Write("<p>Results on "& Request.ServerVariables("SERVER_SOFTWARE") & " .net: " & System.Environment.Version.ToString & " " & ScriptEngine & " Version " & ScriptEngineMajorVersion & "." & ScriptEngineMinorVersion & "</p>")%>
<% Response.Write ("<h1>This is a Sample Page of Nagation Matching a Character</h1>") %>
<p>
<%-- Set on Page_Load --%>
<asp:Label id="lbl01" runat="server" />
</p>
</body>
</html>
HTML Web Page Embedded Output:
Negation Matching Character Groups
Regular expressions for negation matching character groups.
<(?!div>)(?(\w)[^p]*?)> using successive zero-width negative lookaheads for negation matching character groups. <(?(\w)[^p]*?)(?<!<div)>using successive zero-width negative lookbehinds for negation matching character groups. (?((?<a>(<div>|<h1>)))(?!\k<a>))<(?(\w)[^p]*?)>using alternation + zero-width negative lookahead for negation matching character groups. <(?((?(div|h1))))(?(\w)[^p]*?)(?<!\k<a>)>using alternation + zero-width negative lookahead for negation matching character groups.
Examples
Examples of nagation mtching a character
ASP.NET Code Input:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script runat="server">
Sub Page_Load()
Dim xstring As String = ""&vbCrLf
xstring = xstring & " <<div>>"&vbCrLf
xstring = xstring & " <<h1>>Regular Expression"&vbCrLf
xstring = xstring & " Matching a Tag<</h1>>"&vbCrLf
xstring = xstring & " <<p>><<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>"&vbCrLf
xstring = xstring & "Matching <</span>>a<</span>> Tag<</span>><</p>><<br />>"&vbCrLf
xstring = xstring & " <<p>><<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>Matching <</span>>a<</span>> Tag<</span>><</p>><<br />>"&vbCrLf
xstring = xstring & " <<span class=""d6t"">>Regular <<span>>Expression <<span class=""dt"">>Matching <</span>>a<</span>> Tag<</span>><<br />>"&vbCrLf
xstring = xstring & " <<em>><</em>><<h1->>Regular Expression Matching a Tag<</h1>>"&vbCrLf
xstring = xstring & " <</div>>"&vbCrLf
Dim xmatchstr As String
xmatchstr = "Given string: """ & xstring & """<br />"
xmatchstr = xmatchstr & showresult(xstring,"<(?!div>)(?!h1>)(?(\w)[^p]*?)>",RegexOptions.None)
xmatchstr = xmatchstr & showresult(xstring,"<(?(\w)[^p]*?)(?<!<div)(?<!<h1)>",RegexOptions.None)
xmatchstr = xmatchstr & showresult(xstring,"(?((?<a>(<div>|<h1>)))(?!\k<a>))<(?(\w)[^p]*?)>",RegexOptions.None)
xmatchstr = xmatchstr & showresult(xstring,"<(?((?<a>(div|h1))))(?(\w)[^p]*?)(?<!\k<a>)>",RegexOptions.None)
lbl01.Text = xmatchstr
End Sub
Function showresult(xstring,xpattern,xoption)
Dim xmatches As MatchCollection
Dim xmatchstr As String = ""
Dim xint As Integer
xmatchstr = xmatchstr & "<br />Result of Regex.Matches(string,""" & xpattern & """," & xoption & "): <br />"
xmatches = Regex.Matches(xstring,xpattern,xoption)
xmatchstr = xmatchstr & "->Result of MatchCollection.Count: """
xmatchstr = xmatchstr & xmatches.Count & """<br />"
For xint = 0 to xmatches.Count - 1
xmatchstr = xmatchstr & "->->Result of MatchCollection("& xint & ").Value, Index, Length: """
xmatchstr = xmatchstr & xmatches(xint).Value & ", " & xmatches(xint).Index & ", " & xmatches(xint).Length & """<br />"
Next
Return xmatchstr
End Function
</script>
</head>
<body>
<%Response.Write("<p>Results on "& Request.ServerVariables("SERVER_SOFTWARE") & " .net: " & System.Environment.Version.ToString & " " & ScriptEngine & " Version " & ScriptEngineMajorVersion & "." & ScriptEngineMinorVersion & "</p>")%>
<% Response.Write ("<h1>This is a Sample Page of Nagation Matching a Character</h1>") %>
<p>
<%-- Set on Page_Load --%>
<asp:Label id="lbl01" runat="server" />
</p>
</body>
</html>