using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"((?:[a-zA-Z0-9]+)? ?(?:[Ll]ist|[Tt]able|[Ff]igure)).*?((?:[0-9]+\-[0-9]+)|(?<!-)[0-9]+): (.*)";
string input = @"Text Table 6-2: Management of children study and actions
Table 6-2: Management of children study and actions
table 6-2: Management of children study and actions
tezt Text Table 6-22: Management of children study and actions
Tezt text table 66-2: Management of children study and actions
tezt Text List / 6-2: Management of children study and actions
Text list 6-2: Management of children study and actions
Table 6-2: Management of children study and actions
table 6-2: Management of children study and actions
tezt Text figure 6-22: Management of children study and actions
Tezt text Figure 66-2: Management of children study and actions
tezt Text Table / 6-2: Management of children study and actions
table: 66-22: Management of children study and actions
tezt Text Table 6-22: Management of children study and actions
tezt Text Table 6: Management of children study and actions
able 6-2: Management of children study and actions
re hable 6-2: Management of children study and actions
table 62: Management of children study and actions
table 62-: Management of children study and actions
table -2: Management of children study and actions
";
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