Regex.IsMatch Método
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Indica si la expresión regular encuentra una coincidencia en la cadena de entrada.
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. |
- 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 Z o 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 Z o 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 Z o 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | 7, 8, 9 |
- 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 Z o 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 Z o 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 Z o 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | 7, 8, 9 |
- 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | 7, 8, 9 |
- 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | 7, 8, 9 |
- 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- 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
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | 7, 8, 9 |
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: