using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?:(?:\d[- _]*){6,})|(?<num_1>\d[- _]*)(?<num_2>\d[- _]*)(?<num_3>\d[- _]*)(?<num_4>\d)(?<num_5>[- _]*\d)?";
string input = @"""1-2-3-4-5-6"" => no
""1-2-3-4-5"" => yes match 1
""1-2-3-4"" => yes match 2
""1-2-3"" => no
""123456"" => no
""12345"" => yes match 3
""1234"" => yes match 4
""123"" => no
foo 123 56 78 bar
""0000"" will become ""****""
""any text 000 00 more texts"" will become ""any text ***** more texts""..notice that the space is removed
""any text 000 00 more texts 00"" will become ""any text ***** more texts 00""
""any text 000 00 more texts 00 00"" will become ""any text ***** more texts ****""
""any text 00-00 more texts 00_00"" will become ""any text **** more texts ****""
a 0 12345 fdf";
foreach (Match m in Regex.Matches(input, pattern))
{
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