using System;
using System.Text.RegularExpressions;
public class Test
{
const string Str = "30-Nov-2012 30-Nov-2012 United Kingdom, 31-Oct-2012 31-Oct-2012 United Arab Emirates, 29-Oct-2012 31-Oct-2012 India";
static readonly Regex r1 = new Regex("(\\d{4})\\s");
static readonly Regex r2 = new Regex("(?<=\\d{4})\\s");
static void TestRegex(Regex r, string s) {
DateTime start = DateTime.Now;
for (var i = 0 ; i != 10000 ; i++) {
r.Replace(Str, s);
}
Console.WriteLine(DateTime.Now-start);
}
public static void Main()
{
TestRegex(r1, "$1@");
TestRegex(r2, "@");
TestRegex(r1, "$1@");
TestRegex(r2, "@");
TestRegex(r1, "$1@");
TestRegex(r2, "@");
TestRegex(r1, "$1@");
TestRegex(r2, "@");
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CiAgICBjb25zdCBzdHJpbmcgU3RyID0gIjMwLU5vdi0yMDEyIDMwLU5vdi0yMDEyIFVuaXRlZCBLaW5nZG9tLCAzMS1PY3QtMjAxMiAzMS1PY3QtMjAxMiBVbml0ZWQgQXJhYiBFbWlyYXRlcywgMjktT2N0LTIwMTIgMzEtT2N0LTIwMTIgSW5kaWEiOwogICAgc3RhdGljIHJlYWRvbmx5IFJlZ2V4IHIxID0gbmV3IFJlZ2V4KCIoXFxkezR9KVxccyIpOwoJc3RhdGljIHJlYWRvbmx5IFJlZ2V4IHIyID0gbmV3IFJlZ2V4KCIoPzw9XFxkezR9KVxccyIpOwogICAgc3RhdGljIHZvaWQgVGVzdFJlZ2V4KFJlZ2V4IHIsIHN0cmluZyBzKSB7CiAgICAgICAgRGF0ZVRpbWUgc3RhcnQgPSBEYXRlVGltZS5Ob3c7CiAgICAgICAgZm9yICh2YXIgaSA9IDAgOyBpICE9IDEwMDAwIDsgaSsrKSB7CiAgICAgICAgICAgIHIuUmVwbGFjZShTdHIsIHMpOwogICAgICAgIH0KICAgICAgICBDb25zb2xlLldyaXRlTGluZShEYXRlVGltZS5Ob3ctc3RhcnQpOwogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCVRlc3RSZWdleChyMSwgIiQxQCIpOwogICAgCVRlc3RSZWdleChyMiwgIkAiKTsKICAgIAlUZXN0UmVnZXgocjEsICIkMUAiKTsKICAgIAlUZXN0UmVnZXgocjIsICJAIik7CiAgICAJVGVzdFJlZ2V4KHIxLCAiJDFAIik7CiAgICAJVGVzdFJlZ2V4KHIyLCAiQCIpOwogICAgCVRlc3RSZWdleChyMSwgIiQxQCIpOwogICAgCVRlc3RSZWdleChyMiwgIkAiKTsKCX0KfQ==