Regex.Match Método

Definición

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, startat es 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 \G se satisface en startat. 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 \G a la izquierda para un patrón de izquierda a derecha. Esto restringe la coincidencia para que deba comenzar exactamente en startat (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ácter startat - 1 (no startat).
  • Cuando se especifica el anclaje \G en el extremo derecho de un patrón, restringe la (primera) coincidencia para que termine exactamente en startat - 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.

Consulte también

Se aplica a