Nós já conversamos muito sobre strings - a capacidade de processar e manipular texto é muito importante para todos os programadores! Mas enquanto cortar as strings com o método SubString ou fazer algumas operações simples de substituição de string para string pode ser considerado processamento simples de strings, o processamento de strings com Expressões Regulares (geralmente encurtado para Regex) é a versão extrema!
Primeiro de tudo, Expressões Regulares não é uma invenção da Microsoft/.NET. De fato, Expressões Regulares foram inventadas muito antes do .NET framework, como uma maneira de expressar um padrão de busca. Esse padrão de pesquisa pode ser usado para realizar operações de pesquisa ou substituição de pesquisa em um texto. Seu primeiro pensamento pode ser que você não precisa de outro "idioma" para pesquisar através de uma string, mas apenas veja o que você pode fazer com Expressões Regulares!
O legal sobre as Expressões Regulares é que elas são suportadas por praticamente todas as linguagens de programação existentes e, embora existam pequenas variações, é possível usar a mesma expressão regular nessas linguagens de programação para realizar a mesma coisa. O .NET framework tem uma boa implementação de Expressões Regulares, centrada em torno da classe Regex encontrada no namespace System.Text.RegularExpressions.
Com Expressões regulares, você pode definir um padrão de pesquisa para executar operações de pesquisa e pesquisa/substituição em uma string. O .NET framework pode facilmente trabalhar com suas Expressões Regulares, como descobriremos nos próximos artigos, onde trabalharemos com a classe Regex e com classes auxiliares como o Match e classes MatchCollection.