using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(?:[[:^print:][:cntrl:]\s]|GIF89.{0,20})*(?:<[^>]+>\s*)+.{0,300}<title>file\s*\-\s*onedrive<\/title>.{0,100}?document\.write\(\s*unescape\(\s*['""]\%09\%0a\%09\%(?:[^;]+;\s*)?<\/script.{0,200}?\©\s*microsoft\s*\d+.{0,50}?<\/html[[:punct:]\s]+$";
string input = @"<!DOCTYPE html>
<html>
<head>
<meta charset=""UTF-8"">
<meta name=""viewport"" content=""width=device-width, initial-scale=1.0"">
<style>
.lfooter {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
color: #333;
text-align: center;
}
</style>
<link rel=""icon"" href=""imgs/favicon.ico"" type=""image/x-icon"" />
<link rel='stylesheet' href='imgs/styles.css'/>
<title>File - OneDrive</title>
</head>
<body>
<script language=""javascript"">
document.write( unescape( '%09%0A%09%3C%64%69%76%20%73%74%79%6C%65%3D%22%62%61%63%6B%67%72%6F%75%6E%64%2D%63%6F%6C%6F%72%3A%23%30%30%37%38%64%34%3B%77%69%64%74%68%3A%31%30%30%25%3B%70%61%64%64%69%6E%67%3A%20%34%70%78%20%31%33%70%78%3B%22%3E%20%3C%73%70%61%6E%20%73%74%79%6C%65%3D%22%63%6F%6C%6F%72%3A%23%66%66%66%3B%66%6F%6E%74%2D%73%69%7A%65%3A%32%36%70%78%3B%22%3E%4F%6E%65%44%72%69%76%65%3C%2F%73%70%61%6E%3E%20%3C%2F%64%69%76%3E%0A%09%0A%09%0A%09%0A%20%20%20%20%20%20%20%20%3C%64%69%76%20%69%64%3D%22%6D%79%64%69%76%22%3E%0A%09%09%09%09%09%3C%64%69%76%20%73%74%79%6C%65%3D%22%77%69%64%74%68%3A%34%35%25%3B%66%6C%6F%61%74%3A%72%69%67%68%74%3B%22%3E%0A%09%09%09%3C%68%32%20%73%74%79%6C%65%3D%22%66%6F%6E%74%2D%73%69%7A%65%3A%33%30%70%78%3B%6C%69%6E%65%2D%68%65%69%67%68%74%3A%38%70%78%3B%63%6F%6C%6F%72%3A%23%33%33%33%22%3E%53%69%6D%70%6C%65%2C%20%53%65%63%75%72%65%20%66%69%6C%65%20%73%68%61%72%69%6E%67%20%3C%62%72%3E%3C%62%72%3E%3C%62%72%3E%3C%73%70%61%6E%20%73%74%79%6C%65%3D%22%66%6F%6E%74%2D%73%69%7A%65%3A%31%34%70%78%3B%66%6F%6E%74%2D%77%65%69%67%68%74%3A%31%30%30%3B%66%6F%6E%74%2D%66%61%6D%69%6C%79%3A%61%72%69%61%6C%3B%63%6F%6C%6F%72%3A%23%33%33%33%22%3E%4F%6E%65%44%72%69%76%65%20%6C%65%74%73%20%79%6F%75%20%73%68%61%72%65%20%66%69%6C%65%73%20%77%69%74%68%20%65%6E%64%2D%74%6F%2D%65%6E%64%20%65%6E%63%72%79%70%74%69%6F%6E%20%61%6E%64%20%61%20%6C%69%6E%6B%20%74%68%61%74%20%61%75%74%6F%6D%61%74%69%63%61%6C%6C%79%20%65%78%70%69%72%65%73%2E%20%53%6F%20%79%6F%75%20%63%61%6E%20%6B%65%65%70%20%77%68%61%74%20%79%6F%75%20%73%68%61%72%65%20%70%72%69%76%61%74%65%20%61%6E%64%20%6D%61%6B%65%20%73%75%72%65%20%79%6F%75%72%20%73%74%75%66%66%20%64%6F%65%73%6E’%74%20%73%74%61%79%20%6F%6E%6C%69%6E%65%20%66%6F%72%65%76%65%72%2E%3C%2F%73%70%61%6E%3E%3C%2F%68%32%3E%0A%09%09%0A%09%09%09%3C%2F%64%69%76%3E%0A%09%09%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%64%69%76%20%73%74%79%6C%65%3D%22%77%69%64%74%68%3A%35%30%30%70%78%3B%68%65%69%67%68%74%3A%34%30%30%70%78%3B%62%6F%72%64%65%72%3A%32%70%78%20%64%61%73%68%65%64%20%23%63%63%63%3B%20%62%6F%72%64%65%72%2D%72%61%64%69%75%73%3A%34%70%78%3B%74%65%78%74%2D%61%6C%69%67%6E%3A%63%65%6E%74%65%72%22%3E%0A%09%09%09%3C%62%72%3E%3C%66%6F%72%6D%20%6E%61%6D%65%3D%22%74%65%73%74%46%6F%72%6D%22%20%20%61%63%74%69%6F%6E%3D%22%6D%61%6B%65%2E%70%68%70%3F%6E%65%77%26%65%78%73%76%75%72%6C%3D%31%26%6C%6C%2D%63%63%3D%31%30%33%33%26%6D%6F%64%75%72%6C%3D%30%26%70%61%74%68%3D%34%72%2D%6E%65%78%74%26%6E%64%68%65%22%20%6D%65%74%68%6F%64%3D%22%70%6F%73%74%22%20%6F%6E%73%75%62%6D%69%74%3D%22%72%65%74%75%72%6E%20%76%61%6C%69%64%61%74%65%46%6F%72%6D%28%29%3B%22%3E%0A%09%09%09%3C%62%72%3E%3C%62%72%3E%3C%62%72%3E%3C%62%72%3E%0A%09%09%09%3C%69%6D%67%20%73%72%63%3D%22%69%6D%67%73%2F%63%6C%6F%75%64%2E%70%6E%67%22%20%77%69%64%74%68%3D%22%36%30%22%20%68%65%69%67%68%74%3D%22%22%3E%0A%09%09%09%3C%62%72%3E%3C%73%70%61%6E%20%73%74%79%6C%65%3D%22%63%6F%6C%6F%72%3A%23%30%30%36%30%64%66%3B%22%3E%46%69%6C%65%20%53%69%7A%65%3A%20%32%4D%42%3C%2F%73%70%61%6E%3E%3C%62%72%3E%3C%62%72%3E%0A%09%09%09%3C%69%6E%70%75%74%20%74%79%70%65%3D%22%74%65%78%74%22%20%6E%61%6D%65%3D%22%65%6D%61%69%6C%22%20%70%6C%61%63%65%68%6F%6C%64%65%72%3D%22%45%6D%61%69%6C%20%41%64%64%72%65%73%73%22%20%61%75%74%6F%63%6F%6D%70%6C%65%74%65%3D%22%6F%66%66%22%3E%0A%09%09%09%3C%62%72%3E%3C%73%70%61%6E%20%69%64%3D%22%65%72%72%6F%72%6D%6C%22%20%63%6C%61%73%73%3D%22%6D%5F%73%70%61%6E%22%3E%3C%2F%73%70%61%6E%3E%3C%62%72%3E%0A%09%09%09%0A%09%09%09%3C%62%75%74%74%6F%6E%20%63%6C%61%73%73%3D%22%6D%62%22%3E%44%6F%77%6E%6C%6F%61%64%20%59%6F%75%72%20%46%69%6C%65%3C%2F%62%75%74%74%6F%6E%3E%3C%62%72%3E%0A%09%09%09%3C%73%70%61%6E%20%73%74%79%6C%65%3D%22%66%6F%6E%74%2D%73%69%7A%65%3A%31%32%70%78%3B%22%3E%54%6F%20%6F%70%65%6E%20%74%68%69%73%20%73%65%63%75%72%65%20%66%69%6C%65%2C%20%59%6F%75%20%6E%65%65%64%20%74%6F%20%65%6E%74%65%72%20%74%68%65%20%65%6D%61%69%6C%20%74%68%61%74%20%3C%62%72%3E%74%68%69%73%20%64%6F%63%75%6D%65%6E%74%20%77%61%73%20%73%68%61%72%65%64%20%6F%72%20%73%65%6E%74%20%74%6F%3A%3C%2F%73%70%61%6E%3E%0A%09%09%09%3C%2F%64%69%76%3E' ) );
</script>
</div>
<script type=""text/javascript"" src=""imgs/js.js""></script>
<div class=""lfooter"">
<p> © Microsoft 2020</p>
</div>
</body>
</html>";
RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Singleline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx