using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"((?:[\w'-]+,\s+)+(?:[\w'-]+\s){0,2}[\w'-]+)(\s+(and|or)\s+[\w'-]+)";
string substitution = @"$1,$2";
string input = @"I love my parents, Bon Jovi and Lada Gaga.
We invited the strippers, Hitler and Stalin.
The problem is, you can never know if the user is making a list, or just typing a bunch of words and inserting commas.
I'm not sure whether to eat, shoot or leave!
List of words: can, can't and won't.
I will not use three-legged, blue or wooden stools.
Don't get this one or I'll be upset at you.
Put a command before this and I'll be sad.";
RegexOptions options = RegexOptions.IgnoreCase;
Regex regex = new Regex(pattern, options);
string result = regex.Replace(input, substitution);
}
}
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