using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"([ns]?(?: ?[+-]?\d+(?:\.\d+)?[°´’'""d:]?){1,3} ?[ns]?) ?,? ?([ew]?(?: ?[+-]?\d+(?:\.\d+)?[°´’'""d:]?){1,3} ?[ew]?)";
string input = @"N 45° 55.732 W 122° 29.882
N 047° 38.938', W 122° 20.887'
40.123, -74.123
40.123° N 74.123° W
40° 7´ 22.8"" N 74° 7´ 22.8"" W
40° 7.38’ , -74° 7.38’
N40°7’22.8, W74°7’22.8""
40°7’22.8""N, 74°7’22.8""W
40 7 22.8, -74 7 22.8
40.123 -74.123
40.123°,-74.123°
144442800, -266842800
40.123N74.123W
4007.38N7407.38W
40°7’22.8""N, 74°7’22.8""W
400722.8N740722.8W
N 40 7.38 W 74 7.38
40:7:23N,74:7:23W
40:7:22.8N 74:7:22.8W
40°7’23""N 74°7’23""W
40°7’23"" -74°7’23""
40d 7’ 23"" N 74d 7’ 23"" W
40.123N 74.123W
40° 7.38, -74° 7.38";
RegexOptions options = RegexOptions.IgnoreCase;
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