using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^\s*?((?:virtual\s*|const\s*|friend\s*){0,3})\s*([\w]*?)\s*\w+\s*::\s*([\w]+)\s*(\(.*\))\s*(const)?\s*[{|:]";
string input = @"#include <iostream>
#include <iomanip>
#include ""Time.h""
using namespace std;
Time :: Time(const int h, const int m, const int s)
: hour(h), minute (m), second(s)
{}
virtual const void Time :: setTime(const int h, const int m, const int s)
{
hour = h;
minute = m;
second = s;
}
std::string Time :: print() const
{
cout << setw(2) << setfill('0') << hour << "":""
<< setw(2) << setfill('0') << minute << "":""
<< setw(2) << setfill('0') << second << ""\n"";
}
bool Time :: equals(const Time &otherTime)
{
if(hour == otherTime.hour
&& minute == otherTime.minute
&& second == otherTime.second)
return true;
else
return false;
}";
RegexOptions options = RegexOptions.Multiline;
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