Regex match words C#

Words match

This regular expression can be used to validate that a given string contains only characters in it or extract two words from a given string.

Simple word match

The regular expression to match only words looks like this (including compound words):

new Regex("^\\b(?:\\w|-)+\\b$")

Test it!
/^\b(?:\w|-)+\b$/

True

False

Enter a text in the input above to see the result

Example code in C#:

using System.Text.RegularExpressions;
using System.Linq;
using System;
                    
public class Program
{
    public static void Main()
    {
        // Validate words
        Regex validateWordRegex = new Regex("^\\b(?:\\w|-)+\\b$");
        Console.WriteLine(validateWordRegex.IsMatch("word"));  // prints True
        
        // Extract words from a string
        Regex extractWordsRegex = new Regex("\\b(?:\\w|-)+\\b");
        string [] extracted = extractWordsRegex.Matches("Hello, world!")
            .Cast<Match>()
            .Select(m => m.Value) 
            .ToArray(); 
        Console.WriteLine(String.Join(",", extracted)); // prints Hello,world
    }
}
Test it!

True

False

Enter a text in the input above to see the result

Test it!

True

False

Enter a text in the input above to see the result