Compartir a través de


Regex.IsMatch Método

Definición

Indica si la expresión regular encuentra una coincidencia en la cadena de entrada.

Sobrecargas

IsMatch(String, String, RegexOptions, TimeSpan)

Indica si la expresión regular especificada encuentra una coincidencia en la cadena de entrada especificada, utilizando las opciones de coincidencia y el intervalo de tiempo de espera especificados.

IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)

Indica si la expresión regular especificada encuentra una coincidencia en el intervalo de entrada especificado, utilizando las opciones de coincidencia y el intervalo de tiempo de espera especificados.

IsMatch(String, String, RegexOptions)

Indica si la expresión regular especificada encuentra una coincidencia en la cadena de entrada especificada, utilizando las opciones de coincidencia especificadas.

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

Indica si la expresión regular especificada encuentra una coincidencia en el intervalo de entrada especificado, utilizando las opciones de coincidencia especificadas.

IsMatch(String, String)

Indica si la expresión regular especificada encuentra una coincidencia en la cadena de entrada especificada.

IsMatch(ReadOnlySpan<Char>, Int32)

Indica si la expresión regular especificada en el constructor Regex encuentra una coincidencia en un intervalo de entrada especificado.

IsMatch(ReadOnlySpan<Char>, String)

Indica si la expresión regular especificada encuentra una coincidencia en el intervalo de entrada especificado.

IsMatch(String, Int32)

Indica si la expresión regular especificada en el constructor Regex encuentra una coincidencia en la cadena de entrada especificada, empezando por la posición inicial especificada en la cadena.

IsMatch(String)

Indica si la expresión regular especificada en el constructor Regex encuentra una coincidencia en una cadena de entrada especificada.

IsMatch(ReadOnlySpan<Char>)

Indica si la expresión regular especificada en el constructor Regex encuentra una coincidencia en un intervalo de entrada especificado.

IsMatch(String, String, RegexOptions, TimeSpan)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada encuentra una coincidencia en la cadena de entrada especificada, utilizando las opciones de coincidencia y el intervalo de tiempo de espera especificados.

public:
 static bool IsMatch(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static bool IsMatch (string input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member IsMatch : string * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> bool
Public Shared Function IsMatch (input As String, pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As Boolean

Parámetros

input
String

Cadena que se va a buscar una coincidencia.

pattern
String

Patrón de expresión regular que se va a coincidir.

options
RegexOptions

Combinación bit a bit de los valores de enumeración que proporcionan opciones para la coincidencia.

matchTimeout
TimeSpan

Intervalo de tiempo de espera o InfiniteMatchTimeout para indicar que el método no debe agotar el tiempo de espera.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

Error de análisis de expresiones regulares.

input o pattern es null.

options no es un valor de RegexOptions válido.

-o-

matchTimeout es negativo, cero o mayor que aproximadamente 24 días.

Se agota el tiempo de espera.

Ejemplos

En el ejemplo siguiente se muestra el uso del método IsMatch(String, String, RegexOptions, TimeSpan) para determinar si una cadena es un número de pieza válido. La expresión regular supone que el número de pieza tiene un formato específico que consta de tres conjuntos de caracteres separados por guiones. El primer conjunto, que contiene cuatro caracteres, debe constar de un carácter alfanumérico seguido de dos caracteres numéricos seguidos de un carácter alfanumérico. El segundo conjunto, que consta de tres caracteres, debe ser numérico. El tercer conjunto, que consta de cuatro caracteres, debe tener tres caracteres numéricos seguidos de un carácter alfanumérico. La coincidencia del patrón de expresión regular debe implicar una búsqueda mínima a través de la cadena de entrada, por lo que el método establece un intervalo de tiempo de espera de 500 milisegundos.

string[] partNumbers = [ "1298-673-4192", "A08Z-931-468a",
                      "_A90-123-129X", "12345-KKA-1230",
                      "0919-2893-1256" ];
string pattern = @"^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$";
foreach (string partNumber in partNumbers)
    try
    {
        bool isMatch = Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(500));
        Console.WriteLine($"{partNumber} {(isMatch ? "is" : "is not")} a valid part number.");
    }
    catch (RegexMatchTimeoutException e)
    {
        Console.WriteLine($"Timeout after {e.MatchTimeout} seconds matching {e.Input}.");
    }

// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468a is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468a", 
                                      "_A90-123-129X", "12345-KKA-1230", 
                                      "0919-2893-1256" }
      Dim pattern As String = "^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$"
      For Each partNumber As String In partNumbers
         Try
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, _
                              IIF(Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase), _
                                  "is", "is not"),
                              TimeSpan.FromMilliseconds(500))
         Catch e As RegexMatchTimeoutException
            Console.WriteLine("Timeout after {0} seconds matching {1}.",
                              e.MatchTimeout, e.Input)
         End Try
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468a is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

El patrón de expresión regular es:

^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$

En la tabla siguiente se muestra cómo se interpreta el patrón de expresión regular.

Patrón Descripción
^ Comience la coincidencia al principio de la cadena.
[A-Z0-9] Coincide con cualquier carácter alfabético único de A a Zo cualquier carácter numérico.
\d{2} Coincide con dos caracteres numéricos.
[A-Z0-9] Coincide con cualquier carácter alfabético único de A a Zo cualquier carácter numérico.
- Coincide con un guión.
\d{3} Coincide exactamente con tres caracteres numéricos.
(-\d{3}){2} Busque un guión seguido de tres caracteres numéricos y coincida con dos apariciones de este patrón.
[A-Z0-9] Coincide con cualquier carácter alfabético único de A a Zo cualquier carácter numérico.
$ Finalice la coincidencia al final de la cadena.

Llamar al método IsMatch(String, String, RegexOptions, TimeSpan) con el parámetro options establecido en RegexOptions.IgnoreCase equivale a definir la siguiente expresión regular:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]

Para obtener una comparación, vea el ejemplo del método IsMatch(String, String).

Comentarios

El método IsMatch se usa normalmente para validar una cadena o para asegurarse de que una cadena se ajusta a un patrón determinado sin recuperar esa cadena para su posterior manipulación. Si desea determinar si una o varias cadenas coinciden con un patrón de expresión regular y, a continuación, recuperarlas para su posterior manipulación, llame al método Match o Matches.

El método IsMatch(String, String, RegexOptions, TimeSpan) estático equivale a construir un objeto Regex con el patrón de expresión regular especificado por pattern y las opciones de expresión regular especificadas por options y llamando al método de instancia de IsMatch(String). Este patrón de expresión regular se almacena en caché para la recuperación rápida por parte del motor de expresiones regulares.

El parámetro pattern consta de elementos del lenguaje de expresiones regulares que describen simbólicamente la cadena que debe coincidir. Para obtener más información sobre las expresiones regulares, vea expresiones regulares de .NET y lenguaje de expresiones regulares: referencia rápida.

El parámetro matchTimeout especifica cuánto tiempo un método de coincidencia de patrones debe intentar encontrar una coincidencia antes de que se agote el tiempo de espera. Si se establece un intervalo de tiempo de espera, se impide que las expresiones regulares que se basan en un retroceso excesivo aparezcan para dejar de responder cuando procesan la entrada que contiene coincidencias cercanas. Para obtener más información, vea procedimientos recomendados de para expresiones regulares y retroceso. Si no se encuentra ninguna coincidencia en ese intervalo de tiempo, el método produce una excepción RegexMatchTimeoutException. matchTimeout invalida cualquier valor de tiempo de espera predeterminado definido para el dominio de aplicación en el que se ejecuta el método.

Notas a los autores de las llamadas

Se recomienda establecer el parámetro matchTimeout en un valor adecuado, como dos segundos. Si deshabilita los tiempos de espera especificando InfiniteMatchTimeout, el motor de expresiones regulares ofrece un rendimiento ligeramente mejor. Sin embargo, debe deshabilitar los tiempos de espera solo en las condiciones siguientes:

  • Cuando la entrada procesada por una expresión regular se deriva de un origen conocido y de confianza o consta de texto estático. Esto excluye el texto que los usuarios han introducido dinámicamente.

  • Cuando el patrón de expresión regular se ha probado exhaustivamente para asegurarse de que controla eficazmente las coincidencias, las no coincide y las coincidencias cercanas.

  • Cuando el patrón de expresión regular no contiene elementos de lenguaje que se sabe que provocan un retroceso excesivo al procesar una coincidencia cercana.

Consulte también

Se aplica a

IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada encuentra una coincidencia en el intervalo de entrada especificado, utilizando las opciones de coincidencia y el intervalo de tiempo de espera especificados.

public:
 static bool IsMatch(ReadOnlySpan<char> input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static bool IsMatch (ReadOnlySpan<char> input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member IsMatch : ReadOnlySpan<char> * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> bool
Public Shared Function IsMatch (input As ReadOnlySpan(Of Char), pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As Boolean

Parámetros

input
ReadOnlySpan<Char>

Intervalo que se va a buscar una coincidencia.

pattern
String

Patrón de expresión regular que se va a coincidir.

options
RegexOptions

Combinación bit a bit de los valores de enumeración que proporcionan opciones para la coincidencia.

matchTimeout
TimeSpan

Intervalo de tiempo de espera o InfiniteMatchTimeout para indicar que el método no debe agotar el tiempo de espera.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

Error de análisis de expresiones regulares.

pattern null

Se agota el tiempo de espera.

options no está en un valor de RegexOptions válido o matchTimeout es negativo, cero o mayor que aproximadamente 24 días.

Se aplica a

IsMatch(String, String, RegexOptions)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada encuentra una coincidencia en la cadena de entrada especificada, utilizando las opciones de coincidencia especificadas.

public:
 static bool IsMatch(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static bool IsMatch (string input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member IsMatch : string * string * System.Text.RegularExpressions.RegexOptions -> bool
Public Shared Function IsMatch (input As String, pattern As String, options As RegexOptions) As Boolean

Parámetros

input
String

Cadena que se va a buscar una coincidencia.

pattern
String

Patrón de expresión regular que se va a coincidir.

options
RegexOptions

Combinación bit a bit de los valores de enumeración que proporcionan opciones para la coincidencia.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

Error de análisis de expresiones regulares.

input o pattern es null.

options no es un valor de RegexOptions válido.

Se agota el tiempo de espera. Para obtener más información sobre los tiempos de espera, vea la sección Comentarios.

Ejemplos

En el ejemplo siguiente se muestra el uso del método IsMatch(String, String) para determinar si una cadena es un número de pieza válido. La expresión regular supone que el número de pieza tiene un formato específico que consta de tres conjuntos de caracteres separados por guiones. El primer conjunto, que contiene cuatro caracteres, debe constar de un carácter alfanumérico seguido de dos caracteres numéricos seguidos de un carácter alfanumérico. El segundo conjunto, que consta de tres caracteres, debe ser numérico. El tercer conjunto, que consta de cuatro caracteres, debe tener tres caracteres numéricos seguidos de un carácter alfanumérico.

string[] partNumbers = [ "1298-673-4192", "A08Z-931-468a",
                      "_A90-123-129X", "12345-KKA-1230",
                      "0919-2893-1256" ];
string pattern = @"^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$";
foreach (string partNumber in partNumbers)
    Console.WriteLine("{0} {1} a valid part number.",
                      partNumber,
                      Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase) ? "is" : "is not");

// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468a is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468a", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim pattern As String = "^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$"
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase), _
                               "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468a is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

El patrón de expresión regular es:

^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$

En la tabla siguiente se muestra cómo se interpreta el patrón de expresión regular.

Patrón Descripción
^ Comience la coincidencia al principio de la cadena.
[A-Z0-9] Coincide con cualquier carácter alfabético único de A a Zo cualquier carácter numérico.
\d{2} Coincide con dos caracteres numéricos.
[A-Z0-9] Coincide con cualquier carácter alfabético único de A a Zo cualquier carácter numérico.
- Coincide con un guión.
\d{3} Coincide exactamente con tres caracteres numéricos.
(-\d{3}){2} Busque un guión seguido de tres caracteres numéricos y coincida con dos apariciones de este patrón.
[A-Z0-9] Coincide con cualquier carácter alfabético único de A a Zo cualquier carácter numérico.
$ Finalice la coincidencia al final de la cadena.

Llamar al método IsMatch(String, String, RegexOptions) con el parámetro options establecido en RegexOptions.IgnoreCase equivale a definir la siguiente expresión regular:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]

Para obtener una comparación, vea el ejemplo del método IsMatch(String, String).

Comentarios

El método IsMatch se usa normalmente para validar una cadena o para asegurarse de que una cadena se ajusta a un patrón determinado sin recuperar esa cadena para su posterior manipulación. Si desea determinar si una o varias cadenas coinciden con un patrón de expresión regular y, a continuación, recuperarlas para su posterior manipulación, llame al método Match o Matches.

El método IsMatch(String, String, RegexOptions) estático equivale a construir un objeto Regex con el patrón de expresión regular especificado por pattern y las opciones de expresión regular especificadas por options y llamando al método de instancia de IsMatch(String). Este patrón de expresión regular se almacena en caché para la recuperación rápida por parte del motor de expresiones regulares.

El parámetro pattern consta de elementos del lenguaje de expresiones regulares que describen simbólicamente la cadena que debe coincidir. Para obtener más información sobre las expresiones regulares, vea expresiones regulares de .NET y lenguaje de expresiones regulares: referencia rápida.

La excepción RegexMatchTimeoutException se produce si el tiempo de ejecución de la operación coincidente supera el intervalo de tiempo de espera especificado para el dominio de aplicación en el que se llama al método . Si no se define ningún tiempo de espera en las propiedades del dominio de aplicación, o si el valor de tiempo de espera es Regex.InfiniteMatchTimeout, no se produce ninguna excepción.

Notas a los autores de las llamadas

Este método agota el tiempo de espera después de un intervalo que es igual al valor de tiempo de espera predeterminado del dominio de aplicación en el que se llama. Si no se ha definido un valor de tiempo de espera para el dominio de aplicación, se usa el valor InfiniteMatchTimeout, que impide que se agote el tiempo de espera del método. El método estático recomendado para comprobar una coincidencia de patrones es IsMatch(String, String, RegexOptions, TimeSpan), lo que le permite establecer el intervalo de tiempo de espera.

Consulte también

Se aplica a

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada encuentra una coincidencia en el intervalo de entrada especificado, utilizando las opciones de coincidencia especificadas.

public:
 static bool IsMatch(ReadOnlySpan<char> input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static bool IsMatch (ReadOnlySpan<char> input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member IsMatch : ReadOnlySpan<char> * string * System.Text.RegularExpressions.RegexOptions -> bool
Public Shared Function IsMatch (input As ReadOnlySpan(Of Char), pattern As String, options As RegexOptions) As Boolean

Parámetros

input
ReadOnlySpan<Char>

Intervalo que se va a buscar una coincidencia.

pattern
String

Patrón de expresión regular que se va a coincidir.

options
RegexOptions

Combinación bit a bit de los valores de enumeración que proporcionan opciones para la coincidencia.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

Error de análisis de expresiones regulares.

pattern null

Se agota el tiempo de espera.

options no está en un valor de RegexOptions válido.

Se aplica a

IsMatch(String, String)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada encuentra una coincidencia en la cadena de entrada especificada.

public:
 static bool IsMatch(System::String ^ input, System::String ^ pattern);
public static bool IsMatch (string input, string pattern);
static member IsMatch : string * string -> bool
Public Shared Function IsMatch (input As String, pattern As String) As Boolean

Parámetros

input
String

Cadena que se va a buscar una coincidencia.

pattern
String

Patrón de expresión regular que se va a coincidir.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

Error de análisis de expresiones regulares.

input o pattern es null.

Se agota el tiempo de espera. Para obtener más información sobre los tiempos de espera, vea la sección Comentarios.

Ejemplos

En el ejemplo siguiente se muestra el uso del método IsMatch(String, String) para determinar si una cadena es un número de pieza válido. La expresión regular supone que el número de pieza tiene un formato específico que consta de tres conjuntos de caracteres separados por guiones. El primer conjunto, que contiene cuatro caracteres, debe constar de un carácter alfanumérico seguido de dos caracteres numéricos seguidos de un carácter alfanumérico. El segundo conjunto, que consta de tres caracteres, debe ser numérico. El tercer conjunto, que consta de cuatro caracteres, debe tener tres caracteres numéricos seguidos de un carácter alfanumérico.

string[] partNumbers = [ "1298-673-4192", "A08Z-931-468A",
                      "_A90-123-129X", "12345-KKA-1230",
                      "0919-2893-1256" ];
string pattern = @"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$";
foreach (string partNumber in partNumbers)
    Console.WriteLine($"{partNumber} {(Regex.IsMatch(partNumber, pattern) ? "is" : "is not")} " +
        $"a valid part number.");

// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468A is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468A", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim pattern As String = "^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$"
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(Regex.IsMatch(partNumber, pattern), "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468A is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

El patrón de expresión regular es:

^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$

En la tabla siguiente se muestra cómo se interpreta el patrón de expresión regular.

Patrón Descripción
^ Comience la coincidencia al principio de la línea.
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
\d{2} Coincide con dos caracteres numéricos.
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
- Coincide con un guión.
\d{3} Coincide exactamente con tres caracteres numéricos.
(-\d{3}){2} Busque un guión seguido de tres caracteres numéricos y coincida con dos apariciones de este patrón.
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
$ Finalice la coincidencia al final de la línea.

Comentarios

El método IsMatch se usa normalmente para validar una cadena o para asegurarse de que una cadena se ajusta a un patrón determinado sin recuperar esa cadena para su posterior manipulación. Si desea determinar si una o varias cadenas coinciden con un patrón de expresión regular y, a continuación, recuperarlas para su posterior manipulación, llame al método Match o Matches.

El método IsMatch(String, String) estático equivale a construir un objeto Regex con el patrón de expresión regular especificado por pattern y llamar al método de instancia de IsMatch(String). Este patrón de expresión regular se almacena en caché para la recuperación rápida por parte del motor de expresiones regulares.

El parámetro pattern consta de elementos del lenguaje de expresiones regulares que describen simbólicamente la cadena que debe coincidir. Para obtener más información sobre las expresiones regulares, vea expresiones regulares de .NET y lenguaje de expresiones regulares: referencia rápida.

La excepción RegexMatchTimeoutException se produce si el tiempo de ejecución de la operación coincidente supera el intervalo de tiempo de espera especificado para el dominio de aplicación en el que se llama al método . Si no se define ningún tiempo de espera en las propiedades del dominio de aplicación, o si el valor de tiempo de espera es Regex.InfiniteMatchTimeout, no se produce ninguna excepción.

Notas a los autores de las llamadas

Este método agota el tiempo de espera después de un intervalo igual al valor de tiempo de espera predeterminado del dominio de aplicación en el que se llama al método . Si no se ha definido un valor de tiempo de espera para el dominio de aplicación, se usa el valor InfiniteMatchTimeout, que impide que se agote el tiempo de espera del método. El método estático recomendado para comprobar una coincidencia de patrones es IsMatch(String, String, RegexOptions, TimeSpan), lo que le permite establecer el intervalo de tiempo de espera.

Consulte también

Se aplica a

IsMatch(ReadOnlySpan<Char>, Int32)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada en el constructor Regex encuentra una coincidencia en un intervalo de entrada especificado.

public:
 bool IsMatch(ReadOnlySpan<char> input, int startat);
public bool IsMatch (ReadOnlySpan<char> input, int startat);
member this.IsMatch : ReadOnlySpan<char> * int -> bool
Public Function IsMatch (input As ReadOnlySpan(Of Char), startat As Integer) As Boolean

Parámetros

input
ReadOnlySpan<Char>

Intervalo que se va a buscar una coincidencia.

startat
Int32

Posición de carácter de base cero en la que se va a iniciar la búsqueda.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

Se agota el tiempo de espera.

Se aplica a

IsMatch(ReadOnlySpan<Char>, String)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada encuentra una coincidencia en el intervalo de entrada especificado.

public:
 static bool IsMatch(ReadOnlySpan<char> input, System::String ^ pattern);
public static bool IsMatch (ReadOnlySpan<char> input, string pattern);
static member IsMatch : ReadOnlySpan<char> * string -> bool
Public Shared Function IsMatch (input As ReadOnlySpan(Of Char), pattern As String) As Boolean

Parámetros

input
ReadOnlySpan<Char>

Intervalo que se va a buscar una coincidencia.

pattern
String

Patrón de expresión regular que se va a coincidir.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

Error de análisis de expresiones regulares.

pattern null

Se agota el tiempo de espera.

Se aplica a

IsMatch(String, Int32)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada en el constructor Regex encuentra una coincidencia en la cadena de entrada especificada, empezando por la posición inicial especificada en la cadena.

public:
 bool IsMatch(System::String ^ input, int startat);
public bool IsMatch (string input, int startat);
member this.IsMatch : string * int -> bool
Public Function IsMatch (input As String, startat As Integer) As Boolean

Parámetros

input
String

Cadena que se va a buscar una coincidencia.

startat
Int32

Posición del carácter en la que se va a iniciar la búsqueda.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

input es null.

startat es menor que cero o mayor que la longitud de input.

Se agota el tiempo de espera. Para obtener más información sobre los tiempos de espera, vea la sección Comentarios.

Ejemplos

En el ejemplo siguiente se muestra el uso del método IsMatch(String, Int32) para determinar si una cadena es un número de pieza válido. Busca un número de pieza que sigue a dos puntos (:) carácter en una cadena. El método IndexOf(Char) se usa para determinar la posición del carácter de dos puntos, que luego se pasa al método IsMatch(String, Int32). La expresión regular supone que el número de pieza tiene un formato específico que consta de tres conjuntos de caracteres separados por guiones. El primer conjunto, que contiene cuatro caracteres, debe constar de un carácter alfanumérico seguido de dos caracteres numéricos seguidos de un carácter alfanumérico. El segundo conjunto, que consta de tres caracteres, debe ser numérico. El tercer conjunto, que consta de cuatro caracteres, debe tener tres caracteres numéricos seguidos de un carácter alfanumérico.

string[] partNumbers = [ "Part Number: 1298-673-4192", "Part No: A08Z-931-468A",
                      "_A90-123-129X", "123K-000-1230",
                      "SKU: 0919-2893-1256" ];
Regex rgx = MyRegex();
foreach (string partNumber in partNumbers)
{
    int start = partNumber.IndexOf(':');
    if (start >= 0)
    {
        Console.WriteLine($"{partNumber} {(rgx.IsMatch(partNumber, start) ? "is" : "is not")} a valid part number.");
    }
    else
    {
        Console.WriteLine("Cannot find starting position in {0}.", partNumber);
    }
}

// The example displays the following output:
//       Part Number: 1298-673-4192 is a valid part number.
//       Part No: A08Z-931-468A is a valid part number.
//       Cannot find starting position in _A90-123-129X.
//       Cannot find starting position in 123K-000-1230.
//       SKU: 0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "Part Number: 1298-673-4192", "Part No: A08Z-931-468A", _
                                      "_A90-123-129X", "123K-000-1230", _
                                      "SKU: 0919-2893-1256" }
      Dim rgx As New Regex("[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$")
      For Each partNumber As String In partNumbers
         Dim start As Integer = partNumber.IndexOf(":"c)
         If start >= 0 Then 
            Console.WriteLine("{0} {1} a valid part number.", _
                              partNumber, _
                              IIF(rgx.IsMatch(partNumber, start), "is", "is not"))
         Else
            Console.WriteLine("Cannot find starting position in {0}.", partNumber)
         End If                              
      Next
   End Sub
End Module
' The example displays the following output:
'       Part Number: 1298-673-4192 is a valid part number.
'       Part No: A08Z-931-468A is a valid part number.
'       Cannot find starting position in _A90-123-129X.
'       Cannot find starting position in 123K-000-1230.
'       SKU: 0919-2893-1256 is not a valid part number.

El patrón de expresión regular es:

[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$

En la tabla siguiente se muestra cómo se interpreta el patrón de expresión regular.

Patrón Descripción
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
\d{2} Coincide con dos caracteres numéricos.
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
- Coincide con un guión.
\d{3} Coincide exactamente con tres caracteres numéricos.
(-\d{3}){2} Busque un guión seguido de tres caracteres numéricos y coincida con dos apariciones de este patrón.
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
$ Finalice la coincidencia al final de la línea.

Comentarios

El método IsMatch se usa normalmente para validar una cadena o para asegurarse de que una cadena se ajusta a un patrón determinado sin recuperar esa cadena para su posterior manipulación. Si desea determinar si una o varias cadenas coinciden con un patrón de expresión regular y, a continuación, recuperarlas para su posterior manipulación, llame al método Match o Matches.

Para obtener más información sobre startat, vea la sección Comentarios de Match(String, Int32).

La excepción RegexMatchTimeoutException se produce si el tiempo de ejecución de la operación coincidente supera el intervalo de tiempo de espera especificado por el constructor Regex.Regex(String, RegexOptions, TimeSpan). Si no establece un intervalo de tiempo de espera al llamar al constructor, se produce la excepción si la operación supera cualquier valor de tiempo de espera establecido para el dominio de aplicación en el que se crea el objeto Regex. Si no se define ningún tiempo de espera en la llamada del constructor de Regex o en las propiedades del dominio de aplicación, o si el valor de tiempo de espera es Regex.InfiniteMatchTimeout, no se produce ninguna excepción.

Consulte también

Se aplica a

IsMatch(String)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada en el constructor Regex encuentra una coincidencia en una cadena de entrada especificada.

public:
 bool IsMatch(System::String ^ input);
public bool IsMatch (string input);
member this.IsMatch : string -> bool
Public Function IsMatch (input As String) As Boolean

Parámetros

input
String

Cadena que se va a buscar una coincidencia.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

input es null.

Se agota el tiempo de espera. Para obtener más información sobre los tiempos de espera, vea la sección Comentarios.

Ejemplos

En el ejemplo siguiente se muestra el uso del método IsMatch(String) para determinar si una cadena es un número de pieza válido. La expresión regular supone que el número de pieza tiene un formato específico que consta de tres conjuntos de caracteres separados por guiones. El primer conjunto, que contiene cuatro caracteres, debe constar de un carácter alfanumérico seguido de dos caracteres numéricos seguidos de un carácter alfanumérico. El segundo conjunto, que consta de tres caracteres, debe ser numérico. El tercer conjunto, que consta de cuatro caracteres, debe tener tres caracteres numéricos seguidos de un carácter alfanumérico.

string[] partNumbers = [ "1298-673-4192", "A08Z-931-468A",
                      "_A90-123-129X", "12345-KKA-1230",
                      "0919-2893-1256" ];
Regex rgx = new Regex(@"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$");
foreach (string partNumber in partNumbers)
    Console.WriteLine($"{partNumber} {(rgx.IsMatch(partNumber) ? "is" : "is not")} a valid part number.");

// The example displays the following output:
//       1298-673-4192 is a valid part number.
//       A08Z-931-468A is a valid part number.
//       _A90-123-129X is not a valid part number.
//       12345-KKA-1230 is not a valid part number.
//       0919-2893-1256 is not a valid part number.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim partNumbers() As String = { "1298-673-4192", "A08Z-931-468A", _
                                      "_A90-123-129X", "12345-KKA-1230", _
                                      "0919-2893-1256" }
      Dim rgx As New Regex("^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$")
      For Each partNumber As String In partNumbers
         Console.WriteLine("{0} {1} a valid part number.", _
                           partNumber, _
                           IIF(rgx.IsMatch(partNumber), "is", "is not"))
      Next
   End Sub
End Module
' The example displays the following output:
'       1298-673-4192 is a valid part number.
'       A08Z-931-468A is a valid part number.
'       _A90-123-129X is not a valid part number.
'       12345-KKA-1230 is not a valid part number.
'       0919-2893-1256 is not a valid part number.

El patrón de expresión regular es:

^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$

En la tabla siguiente se muestra cómo se interpreta el patrón de expresión regular.

Patrón Descripción
^ Comience la coincidencia al principio de la línea.
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
\d{2} Coincide con dos caracteres numéricos.
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
- Coincide con un guión.
\d{3} Coincide exactamente con tres caracteres numéricos.
(-\d{3}){2} Busque un guión seguido de tres caracteres numéricos y coincida con dos apariciones de este patrón.
[a-zA-Z0-9] Coincide con un solo carácter alfabético (a a través de z o A a través de Z) o carácter numérico.
$ Finalice la coincidencia al final de la línea.

Comentarios

El método IsMatch se usa normalmente para validar una cadena o para asegurarse de que una cadena se ajusta a un patrón determinado sin recuperar esa cadena para su posterior manipulación. Si desea determinar si una o varias cadenas coinciden con un patrón de expresión regular y, a continuación, recuperarlas para su posterior manipulación, llame al método Match o Matches.

La excepción RegexMatchTimeoutException se produce si el tiempo de ejecución de la operación coincidente supera el intervalo de tiempo de espera especificado por el constructor Regex.Regex(String, RegexOptions, TimeSpan). Si no establece un intervalo de tiempo de espera al llamar al constructor, se produce la excepción si la operación supera cualquier valor de tiempo de espera establecido para el dominio de aplicación en el que se crea el objeto Regex. Si no se define ningún tiempo de espera en la llamada del constructor de Regex o en las propiedades del dominio de aplicación, o si el valor de tiempo de espera es Regex.InfiniteMatchTimeout, no se produce ninguna excepción.

Consulte también

Se aplica a

IsMatch(ReadOnlySpan<Char>)

Source:
Regex.Match.cs
Source:
Regex.Match.cs
Source:
Regex.Match.cs

Indica si la expresión regular especificada en el constructor Regex encuentra una coincidencia en un intervalo de entrada especificado.

public:
 bool IsMatch(ReadOnlySpan<char> input);
public bool IsMatch (ReadOnlySpan<char> input);
member this.IsMatch : ReadOnlySpan<char> -> bool
Public Function IsMatch (input As ReadOnlySpan(Of Char)) As Boolean

Parámetros

input
ReadOnlySpan<Char>

Intervalo que se va a buscar una coincidencia.

Devoluciones

true si la expresión regular encuentra una coincidencia; de lo contrario, false.

Excepciones

Se agota el tiempo de espera.

Se aplica a