Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nei metodi dello spazio dei nomi System.Text.RegularExpressions viene utilizzata la proprietà Thread.CurrentCulture per eseguire operazioni specificate come indipendenti dalla lingua. Di conseguenza, per impostazione predefinita, le operazioni indipendenti dalla lingua nello spazio dei nomi RegularExpressions risultano dipendenti dalla lingua. La classe Regex, ad esempio, fornisce un costruttore che consente di inizializzare una nuova istanza specificando un parametro options. Il parametro options rappresenta una combinazione OR bit per bit di valori dell'enumerazione RegexOptions. L'enumerazione RegexOptions contiene un membro IgnoreCase che specifica una corrispondenza senza distinzione tra maiuscole e minuscole. Quando IgnoreCase viene passato al costruttore Regex nell'ambito del parametro options, la corrispondenza risulterà senza distinzione tra maiuscole e minuscole e dipendente dalla lingua.
Per ottenere un comportamento indipendente dalla lingua da metodi dello spazio dei nomi RegularExpressions, è necessario passare il membro CultureInvariant dell'enumerazione RegexOptions al costruttore Regex nell'ambito del parametro options. Nell'esempio riportato di seguito viene illustrata la creazione di un Regex senza distinzione tra maiuscole e minuscole e indipendente dalla lingua.
Imports System
Imports System.Globalization
Imports System.Text.RegularExpressions
Public Class CultureChange
Public Shared Sub Main()
' Perform a case-insensitive, culture-insensitive
' Regex operation.
Dim TestString As String = "i"
Dim r As New Regex("I", RegexOptions.IgnoreCase Or _
RegexOptions.CultureInvariant)
Dim result As Boolean = r.IsMatch(TestString)
Console.WriteLine("The result of the comparison is: {0}", result)
End Sub
End Class
using System;
using System.Globalization;
using System.Text.RegularExpressions;
public class CultureChange
{
public static void Main()
{
// Perform the case-insensitive, culture-insensitive
// Regex operation.
String TestString = "i";
Regex r = new Regex("I", RegexOptions.IgnoreCase |
RegexOptions.CultureInvariant);
bool result = r.IsMatch(TestString);
Console.WriteLine("The result of the comparison is: {0}",
result);
}
}
Con questo codice si ottiene l'output riportato di seguito, che consente di verificare la restituzione di true per InvariantCulture da parte di un Regex.IsMatch senza distinzione tra maiuscole e minuscole delle stringhe "i" e "I".
The result of the match is: True
Vedere anche
Riferimenti
System.Text.RegularExpressions Namespace
Altre risorse
Esecuzione di operazioni sulle stringhe indipendenti dalla lingua
Elementi del linguaggio di espressioni regolari