using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?P<reference_sequence>(NP|XP|WP)_[0-9]{4,12})\.(?P<version>([0-9]?[0-9])):(?P<prefix>p)\.(?P<ref>Ala|Arg|Asn|Asp|Cys|Gln|Glu|Gly|His|Ile|Leu|Lys|Met|Phe|Pro|Pyl|Ser|Sec|Thr|Trp|Tyr|Val|Asx|Glx|Xaa|Xle)(?P<start>[1-9][0-9]{0,7})(?P<alt>Ala|Arg|Asn|Asp|Cys|Gln|Glu|Gly|His|Ile|Leu|Lys|Met|Phe|Pro|Pyl|Ser|Sec|Thr|Trp|Tyr|Val|Asx|Glx|Xaa|Xle)+fs(Ter[1-9][0-9]{0,7}|\*)$";
string input = @"NP_001230111.1:p.Arg97ProfsTer12
NP_001230111.1:p.Arg97Profs*";
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