using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?<=\$)(\d(?:,?\d)*(?:\.\d\d)?)(?:\s*-\s*\$?(\d(?:,?\d)*(?:\.\d\d)?))?\s+per\s+(?:year|month|day|hour)";
string input = @"ex_1 <- ""starting salary: $18 per hour"", ""retention bonus $500"", ""signing bonus $150"", ""our nannies/babysitters choose the days they can work 8am-6pm and are in a “standby” status on their days on""
ex_2 <- pay: $65,000.00 - $95,623.00 per year
ex_3 <- ""tuition assistance (100% coverage for select degrees or up to $5,250/year)"", ""pay: $16.25 - $16.50 per hour""
ex_4 <- salary: $22.00 - 30.00 per hour
ex_5 <- $50,000.00 per year
ex_6 <- $15.00 per hour
ex_7 <- character(0)
ex_8 <- ""salary: $22.00 - $30.00 per hour"", ""pay: $47,257.00 - $49,838.00 per year"")
What I would like to extract:
ex_1 <- 18 per hour
ex_2 <- 65,000.00 - 95,623.00 per year
ex_3 <- 16.25 - 16.50 per hour
ex_4 <- 22.00 - 30.00 per hour
ex_5 <- 50,000.00 per year
ex_6 <- 15 per hour
ex_7 <- ""
ex_8 <- 22.00 - 30.00 per hour 47,257.00 - 49,838.00 per year
";
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