TOC

This article is currently in the process of being translated into Italian (~99% done).

Regular Expressions (Regex):

Introduction

Abbiamo già parlato molto di stringhe: la capacità di elaborare e manipolare il testo è molto importante per tutti i programmatori! Ma mentre la scomposizione delle stringhe con il metodo SubString o l'esecuzione di semplici operazioni di sostituzione tra stringhe possono essere considerate semplici elaborazioni di stringhe, l'elaborazione delle stringhe con le "Regular Expressions" (solitamente abbreviate in Regex) è la versione estrema!

Innanzitutto, le "Regular Expressions" non sono un'invenzione di Microsoft/.NET. Infatti, le espressioni regolari sono state inventate molto prima del framework .NET, come metodo per esprimere un modello di ricerca. Questo modello di ricerca può essere utilizzato per eseguire operazioni di ricerca o di ricerca-sostituzione su un testo. Il primo pensiero potrebbe essere quello di non aver bisogno di un altro "linguaggio" per cercare in una stringa, ma aspettate di vedere cosa potete fare con le espressioni regolari!

L'aspetto interessante delle Regular Expressions è che sono supportate praticamente da tutti i linguaggi di programmazione e, anche se ci sono piccole variazioni, è possibile utilizzare la stessa regex in tutti i linguaggi di programmazione per ottenere lo stesso risultato. Il framework .NET ha un'ottima implementazione delle Regular Expressions, incentrata sulla classe Regex che si trova nel namespace System.Text.RegularExpressions.

Riepilogo

Con le Regular Expressions è possibile definire un modello di ricerca per eseguire operazioni di ricerca e ricerca/sostituzione su una stringa. Il framework .NET può lavorare facilmente con le espressioni regolari, come scopriremo nei prossimi articoli, in cui lavoreremo con la classe Regex e con classi di aiuto come le classi Match e MatchCollection.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!