Regex.Match Método
Definición
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í.
Busca una cadena de entrada para una subcadena que coincida con un patrón de expresión regular y devuelve la primera aparición como un único Match objeto.
Sobrecargas
| Nombre | Description |
|---|---|
| Match(String) |
Busca en la cadena de entrada especificada la primera aparición de la expresión regular especificada en el Regex constructor. |
| Match(String, Int32) |
Busca en la cadena de entrada la primera aparición de una expresión regular, empezando por la posición inicial especificada en la cadena. |
| Match(String, String) |
Busca en la cadena de entrada especificada la primera aparición de la expresión regular especificada. |
| Match(String, Int32, Int32) |
Busca en la cadena de entrada la primera aparición de una expresión regular, comenzando en la posición inicial especificada y buscando solo el número especificado de caracteres. |
| Match(String, String, RegexOptions) |
Busca en la cadena de entrada la primera aparición de la expresión regular especificada mediante las opciones de coincidencia especificadas. |
| Match(String, String, RegexOptions, TimeSpan) |
Busca en la cadena de entrada la primera aparición de la expresión regular especificada, utilizando las opciones de coincidencia y el intervalo de tiempo de espera especificados. |
Match(String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Busca en la cadena de entrada especificada la primera aparición de la expresión regular especificada en el Regex constructor.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input);
public System.Text.RegularExpressions.Match Match(string input);
member this.Match : string -> System.Text.RegularExpressions.Match
Public Function Match (input As String) As Match
Parámetros
- input
- String
Cadena que se va a buscar una coincidencia.
Devoluciones
Objeto que contiene información sobre la coincidencia.
Excepciones
input es null.
Se agota el tiempo de espera.
Comentarios
El Match(String) método devuelve la primera subcadena que coincide con un patrón de expresión regular en una cadena de entrada.
Puede determinar si el patrón de expresión regular se ha encontrado en la cadena de entrada comprobando la propiedad del Match objeto devueltoSuccess. Si se encuentra una coincidencia, la propiedad del Match objeto devuelto Value contiene la subcadena coincidente. Si no se encuentra ninguna coincidencia, su valor es Empty.
Este método devuelve la primera coincidencia. Puede recuperar coincidencias posteriores llamando repetidamente al método Match del objeto devuelto NextMatch(). También puede recuperar todas las coincidencias en una sola llamada de método llamando a Matches(String).
La RegexMatchTimeoutException excepción se produce si el tiempo de ejecución de la operación coincidente supera el intervalo de tiempo de espera especificado por el Regex(String, RegexOptions, TimeSpan) constructor. 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 Regex objeto. Si no se define ningún tiempo de espera en la llamada del Regex constructor o en las propiedades del dominio de aplicación, o si el valor de tiempo de espera es InfiniteMatchTimeout, no se produce ninguna excepción.
Consulte también
Se aplica a
Match(String, Int32)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Busca en la cadena de entrada la primera aparición de una expresión regular, empezando por la posición inicial especificada en la cadena.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input, int startat);
public System.Text.RegularExpressions.Match Match(string input, int startat);
member this.Match : string * int -> System.Text.RegularExpressions.Match
Public Function Match (input As String, startat As Integer) As Match
Parámetros
- input
- String
Cadena 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
Objeto que contiene información sobre la coincidencia.
Excepciones
input es null.
startat es menor que cero o mayor que la longitud de input.
Se agota el tiempo de espera.
Comentarios
El Match(String, Int32) método devuelve la primera subcadena que coincide con un patrón de expresión regular, empezando por o después de la posición del startat carácter, en una cadena de entrada. El patrón de expresión regular que busca el método Match(String, Int32) se define por la llamada a uno de los constructores de la clase Regex. Para obtener información sobre los elementos de lenguaje que se usan para crear un patrón de expresión regular, vea Lenguaje de expresiones regulares: referencia rápida.
Parámetro startat
Use el startat parámetro para especificar la posición del carácter en la que se inicia la búsqueda. En una búsqueda de izquierda a derecha, se omiten las coincidencias que comiencen antes startat en la cadena.
Para empezar en la posición predeterminada, use la Match(String) sobrecarga (o pase 0 para una búsqueda de izquierda a derecha y input.Length para una búsqueda de derecha a izquierda).
A pesar de iniciar la búsqueda en startat, el índice de cualquier coincidencia devuelta es relativo al inicio de la cadena.
Aunque el motor de expresiones regulares no devuelve ninguna coincidencia que comience antes de startat, no omite la cadena antes de startat. Esto significa que las aserciones como anclajes o aserciones de ancho cero se siguen aplicando a la entrada como un todo. Por ejemplo, el siguiente código incluye un patrón con una aserción de ancho cero que se cumple aunque se produzca antes del índice startat de 5 en la cadena de entrada.
string input = "Zip code: 98052";
var regex = new Regex(@"(?<=Zip code: )\d{5}");
Match match = regex.Match(input, 5);
if (match.Success)
{
Console.WriteLine($"Match found: {match.Value}");
}
// This code prints the following output:
//
// Match found: 98052
Tip
- Si un patrón comienza con el
^delimitador,startates mayor que 0 y la expresión regular no usa RegexOptions.Multiline, nunca se encontrará ninguna coincidencia, ya que están restringidas por^para empezar en el índice 0. - El anclaje
\Gse satisface enstartat. Por este motivo, si desea restringir una coincidencia para que comience exactamente en una posición de carácter determinada de la cadena, ancle la expresión regular con un\Ga la izquierda para un patrón de izquierda a derecha. Esto restringe la coincidencia para que deba comenzar exactamente enstartat(o, cuando se desean varias coincidencias, que las coincidencias sean contiguas).
Búsquedas de derecha a izquierda
Una búsqueda de derecha a izquierda, es decir, cuando el patrón de expresión regular se construye con la RegexOptions.RightToLeft opción , se comporta de las siguientes maneras:
- El examen se mueve en la dirección opuesta y el patrón coincide de atrás (derecha) a delante (izquierda).
- La posición inicial predeterminada es el extremo derecho de la cadena de entrada.
- Si se especifica
startat, la búsqueda de derecha a izquierda comienza en el carácterstartat- 1 (nostartat). - Cuando se especifica el anclaje
\Gen el extremo derecho de un patrón, restringe la (primera) coincidencia para que termine exactamente enstartat- 1.
Para obtener más información sobre las búsquedas de derecha a izquierda, vea Modo de derecha a izquierda.
Determinar si se encuentra una coincidencia
Puede determinar si el patrón de expresión regular se ha encontrado en la cadena de entrada comprobando el valor de la propiedad Match del objeto devuelto Success. Si se encuentra una coincidencia, la propiedad del Match objeto devuelto Value contiene la subcadena de input que coincide con el patrón de expresión regular.
Si no se encuentra ninguna coincidencia, su valor es String.Empty.
Primera coincidencia o múltiples coincidencias
Este método devuelve la primera subcadena encontrada examinando input a partir de la startat posición (o, para las búsquedas de derecha a izquierda, en startat - 1) que coincidan con el patrón de expresión regular.
Puede recuperar coincidencias posteriores llamando repetidamente al método Match del objeto devuelto Match.NextMatch. También puede recuperar todas las coincidencias en una sola llamada al método Regex.Matches(String, Int32).
Excepciones de tiempo de espera
La RegexMatchTimeoutException excepción se produce si el tiempo de ejecución de la operación coincidente supera el intervalo de tiempo de espera especificado por el Regex.Regex(String, RegexOptions, TimeSpan) constructor. 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 Regex objeto. Si no se define ningún tiempo de espera en la llamada del Regex constructor 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
Match(String, String)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Busca en la cadena de entrada especificada la primera aparición de la expresión regular especificada.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern);
public static System.Text.RegularExpressions.Match Match(string input, string pattern);
static member Match : string * string -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String) As Match
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
Objeto que contiene información sobre la coincidencia.
Excepciones
Error de análisis de expresiones regulares.
input o pattern es null.
Se agota el tiempo de espera.
Comentarios
El método estático Match(String, String) es equivalente a construir un Regex objeto con el patrón especificado y llamar al método de instancia Match(String) . El motor de expresiones regulares almacena en caché el patrón.
Puede determinar si el patrón de expresión regular se ha encontrado en la cadena de entrada comprobando la propiedad del Match objeto devueltoSuccess. Si se encuentra una coincidencia, la propiedad del Match objeto devuelto Value contiene la subcadena coincidente. Si no se encuentra ninguna coincidencia, su valor es Empty.
Puede recuperar coincidencias posteriores llamando repetidamente al método Match del objeto devuelto NextMatch(). También puede recuperar todas las coincidencias en una sola llamada al método Matches(String, String).
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 el método agote el tiempo de espera. El método estático recomendado para recuperar una coincidencia de patrón es Match(String, String), lo que le permite establecer el intervalo de tiempo de espera.
Consulte también
Se aplica a
Match(String, Int32, Int32)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Busca en la cadena de entrada la primera aparición de una expresión regular, comenzando en la posición inicial especificada y buscando solo el número especificado de caracteres.
public:
System::Text::RegularExpressions::Match ^ Match(System::String ^ input, int beginning, int length);
public System.Text.RegularExpressions.Match Match(string input, int beginning, int length);
member this.Match : string * int * int -> System.Text.RegularExpressions.Match
Public Function Match (input As String, beginning As Integer, length As Integer) As Match
Parámetros
- input
- String
Cadena que se va a buscar una coincidencia.
- beginning
- Int32
Posición de carácter de base cero en la cadena de entrada que define la posición situada más a la izquierda que se va a buscar.
- length
- Int32
Número de caracteres de la subcadena que se va a incluir en la búsqueda.
Devoluciones
Objeto que contiene información sobre la coincidencia.
Excepciones
input es null.
beginning es menor que cero o mayor que la longitud de input.
-o bien- length es menor que cero o mayor que la longitud de input.
-o bien- beginning + length - 1 identifica una posición que está fuera del intervalo de .input
Se agota el tiempo de espera.
Comentarios
El Match(String, Int32, Int32) método busca en la parte de input definida por los beginning parámetros y length para el patrón de expresión regular.
beginning define siempre el índice del carácter más a la izquierda que se va a incluir en la búsqueda y length define el número máximo de caracteres que se van a buscar. Juntos definen el intervalo de la búsqueda. El comportamiento es exactamente como si la entrada fuera efectivamente input.Substring(beginning, length), excepto que el índice de cualquier coincidencia se cuenta con respecto al inicio de input. Esto significa que los delimitadores o aserciones de ancho cero al principio o al final del patrón se comportan como si no hubiera ninguna entrada fuera de este intervalo.
Si la búsqueda continúa de izquierda a derecha (valor predeterminado), el motor de expresiones regulares busca desde el carácter en el índice beginning hasta el carácter en el índice beginning + length - 1. Si se creó una instancia del motor de expresiones regulares mediante la RightToLeft opción , el motor busca desde el carácter en el índicebeginning + length- 1 hasta el carácter en el índice .beginning
Este método devuelve la primera coincidencia encontrada dentro de este intervalo. Puede recuperar coincidencias posteriores llamando repetidamente al método Match del objeto devuelto NextMatch().
Consulte también
Se aplica a
Match(String, String, RegexOptions)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Busca en la cadena de entrada la primera aparición de la expresión regular especificada mediante las opciones de coincidencia especificadas.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static System.Text.RegularExpressions.Match Match(string input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member Match : string * string * System.Text.RegularExpressions.RegexOptions -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String, options As RegexOptions) As Match
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
Objeto que contiene información sobre la coincidencia.
Excepciones
Error de análisis de expresiones regulares.
input o pattern es null.
options no es una combinación bit a bit válida de RegexOptions valores.
Se agota el tiempo de espera.
Comentarios
El método estático Match(String, String, RegexOptions) es equivalente a construir un Regex objeto con el Regex(String, RegexOptions) constructor y llamar al método de instancia Match(String) .
Puede determinar si el patrón de expresión regular se ha encontrado en la cadena de entrada comprobando la propiedad del Match objeto devueltoSuccess. Puede recuperar coincidencias posteriores llamando repetidamente al método Match del objeto devuelto NextMatch(). También puede recuperar todas las coincidencias en una sola llamada al método Matches(String, String, RegexOptions).
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 el método agote el tiempo de espera. El método estático recomendado para recuperar una coincidencia de patrón es Match(String, String), lo que le permite establecer el intervalo de tiempo de espera.
Consulte también
Se aplica a
Match(String, String, RegexOptions, TimeSpan)
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
- Source:
- Regex.Match.cs
Busca en la cadena de entrada la primera aparición de la expresión regular especificada, utilizando las opciones de coincidencia y el intervalo de tiempo de espera especificados.
public:
static System::Text::RegularExpressions::Match ^ Match(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static System.Text.RegularExpressions.Match Match(string input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member Match : string * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> System.Text.RegularExpressions.Match
Public Shared Function Match (input As String, pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As Match
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
Objeto que contiene información sobre la coincidencia.
Excepciones
Error de análisis de expresiones regulares.
input o pattern es null.
options no es una combinación bit a bit válida de RegexOptions valores.
-o bien- matchTimeout es negativo, cero o mayor que aproximadamente 24 días.
Se agota el tiempo de espera.
Comentarios
El método estático Match(String, String, RegexOptions, TimeSpan) es equivalente a construir un Regex objeto con el Regex(String, RegexOptions, TimeSpan) constructor y llamar al método de instancia Match(String) .
Puede determinar si el patrón de expresión regular se ha encontrado en la cadena de entrada comprobando la propiedad del Match objeto devueltoSuccess. Puede recuperar coincidencias posteriores llamando repetidamente al método Match del objeto devuelto NextMatch().
El matchTimeout parámetro especifica cuánto tiempo debe intentar encontrar una coincidencia un método de 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. Si no se encuentra ninguna coincidencia en ese intervalo de tiempo, el método produce una RegexMatchTimeoutException excepción.
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 matchTimeout parámetro 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.