Regex.IsMatch Método

Definição

Indica se a expressão regular encontra uma correspondência na cadeia de caracteres de entrada.Indicates whether the regular expression finds a match in the input string.

Sobrecargas

IsMatch(String)

Indica se a expressão regular especificada no construtor Regex encontra uma correspondência em uma cadeia de caracteres de entrada especificada.Indicates whether the regular expression specified in the Regex constructor finds a match in a specified input string.

IsMatch(String, Int32)

Indica se a expressão regular especificada no construtor Regex encontra uma correspondência na cadeia de caracteres de entrada especificada, começando na posição inicial especificada na cadeia de caracteres.Indicates whether the regular expression specified in the Regex constructor finds a match in the specified input string, beginning at the specified starting position in the string.

IsMatch(String, String)

Indica se a expressão regular especificada encontra uma correspondência na cadeia de caracteres de entrada especificada.Indicates whether the specified regular expression finds a match in the specified input string.

IsMatch(String, String, RegexOptions)

Indica se a expressão regular especificada encontra uma correspondência na cadeia de caracteres de entrada especificada, usando as opções de correspondência especificadas.Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options.

IsMatch(String, String, RegexOptions, TimeSpan)

Indica se a expressão regular especificada encontra uma correspondência na cadeia de caracteres de entrada especificada, usando as opções de correspondência e intervalo de tempo limite especificados.Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options and time-out interval.

IsMatch(String)

Indica se a expressão regular especificada no construtor Regex encontra uma correspondência em uma cadeia de caracteres de entrada especificada.Indicates whether the regular expression specified in the Regex constructor finds a match in a specified input string.

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

A cadeia de caracteres na qual será pesquisada uma correspondência.The string to search for a match.

Retornos

true se a expressão regular encontrar uma correspondência; caso contrário, false.true if the regular expression finds a match; otherwise, false.

Exceções

input é null.input is null.

Ocorreu um tempo limite.A time-out occurred. Para obter mais informações sobre tempos limite, consulte a seção Comentários.For more information about time-outs, see the Remarks section.

Exemplos

O exemplo a seguir ilustra o uso do IsMatch(String) método para determinar se uma cadeia de caracteres é um número de peça válido.The following example illustrates the use of the IsMatch(String) method to determine whether a string is a valid part number. A expressão regular pressupõe que o número da peça tem um formato específico que consiste em três conjuntos de caracteres separados por hifens.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. O primeiro conjunto, que contém quatro caracteres, deve consistir em um caractere alfanumérico seguido de dois caracteres numéricos seguidos de um caractere alfanumérico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. O segundo conjunto, que consiste em três caracteres, deve ser numérico.The second set, which consists of three characters, must be numeric. O terceiro conjunto, que consiste em quatro caracteres, deve ter três caracteres numéricos seguidos por um caractere alfanumérico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      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("{0} {1} a valid part number.", 
                           partNumber, 
                           rgx.IsMatch(partNumber) ? "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 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.

O padrão da expressão regular é:The regular expression pattern is:

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

A tabela a seguir mostra como o padrão da expressão regular é interpretado.The following table shows how the regular expression pattern is interpreted.

PadrãoPattern DescriçãoDescription
^ Inicie a correspondência no início da linha.Begin the match at the beginning of the line.
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} Corresponder dois caracteres numéricos.Match two numeric characters.
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
- Corresponder a um hífen.Match a hyphen.
\d{3} Corresponder exatamente a três caracteres numéricos.Match exactly three numeric characters.
(-\d{3}){2} Localize um hífen seguido por três caracteres numéricos e Combine duas ocorrências desse padrão.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
$ Finalize a correspondência no final da linha.End the match at the end of the line.

Comentários

O IsMatch método é normalmente usado para validar uma cadeia de caracteres ou para garantir que uma cadeia de caracteres esteja de acordo com um padrão específico sem recuperar essa cadeia de caracteres para manipulação subsequente.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se você quiser determinar se uma ou mais cadeias de caracteres correspondem a um padrão de expressão regular e, em seguida, recuperá Match - Matches las para manipulação subsequente, chame o método ou.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

A RegexMatchTimeoutException exceção será gerada se o tempo de execução da operação de correspondência exceder o intervalo de tempo limite especificado Regex.Regex(String, RegexOptions, TimeSpan) pelo construtor.The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified by the Regex.Regex(String, RegexOptions, TimeSpan) constructor. Se você não definir um intervalo de tempo limite ao chamar o construtor, a exceção será gerada se a operação exceder qualquer valor de tempo limite estabelecido para o domínio do aplicativo no qual o Regex objeto é criado.If you do not set a time-out interval when you call the constructor, the exception is thrown if the operation exceeds any time-out value established for the application domain in which the Regex object is created. Se nenhum tempo limite for definido na Regex chamada de construtor ou nas propriedades do domínio do aplicativo, ou se o valor de tempo limite for Regex.InfiniteMatchTimeout, nenhuma exceção será lançada.If no time-out is defined in the Regex constructor call or in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

Veja também

IsMatch(String, Int32)

Indica se a expressão regular especificada no construtor Regex encontra uma correspondência na cadeia de caracteres de entrada especificada, começando na posição inicial especificada na cadeia de caracteres.Indicates whether the regular expression specified in the Regex constructor finds a match in the specified input string, beginning at the specified starting position in the string.

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

A cadeia de caracteres na qual será pesquisada uma correspondência.The string to search for a match.

startat
Int32

A posição do caractere em que a pesquisa será iniciada.The character position at which to start the search.

Retornos

true se a expressão regular encontrar uma correspondência; caso contrário, false.true if the regular expression finds a match; otherwise, false.

Exceções

input é null.input is null.

startat é menor que zero ou maior que o tamanho de input.startat is less than zero or greater than the length of input.

Ocorreu um tempo limite.A time-out occurred. Para obter mais informações sobre tempos limite, consulte a seção Comentários.For more information about time-outs, see the Remarks section.

Exemplos

O exemplo a seguir ilustra o uso do IsMatch(String, Int32) método para determinar se uma cadeia de caracteres é um número de peça válido.The following example illustrates the use of the IsMatch(String, Int32) method to determine whether a string is a valid part number. Ele procura um número de peça que segue um sinal de dois-pontos (:) caractere em uma cadeia de caracteres.It searches for a part number that follows a colon (:) character in a string. O IndexOf(Char) método é usado para determinar a posição do caractere dois-pontos, que é passado para o IsMatch(String, Int32) método.The IndexOf(Char) method is used to determine the position of the colon character, which is then passed to the IsMatch(String, Int32) method. A expressão regular pressupõe que o número da peça tem um formato específico que consiste em três conjuntos de caracteres separados por hifens.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. O primeiro conjunto, que contém quatro caracteres, deve consistir em um caractere alfanumérico seguido de dois caracteres numéricos seguidos de um caractere alfanumérico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. O segundo conjunto, que consiste em três caracteres, deve ser numérico.The second set, which consists of three characters, must be numeric. O terceiro conjunto, que consiste em quatro caracteres, deve ter três caracteres numéricos seguidos por um caractere alfanumérico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "Part Number: 1298-673-4192", "Part No: A08Z-931-468A", 
                              "_A90-123-129X", "123K-000-1230", 
                              "SKU: 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)
      {
         int start = partNumber.IndexOf(':');
         if (start >= 0)
         {
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, 
                              rgx.IsMatch(partNumber, start) ? "is" : "is not");
         }
         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.

O padrão da expressão regular é:The regular expression pattern is:

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

A tabela a seguir mostra como o padrão da expressão regular é interpretado.The following table shows how the regular expression pattern is interpreted.

PadrãoPattern DescriçãoDescription
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} Corresponder dois caracteres numéricos.Match two numeric characters.
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
- Corresponder a um hífen.Match a hyphen.
\d{3} Corresponder exatamente a três caracteres numéricos.Match exactly three numeric characters.
(-\d{3}){2} Localize um hífen seguido por três caracteres numéricos e Combine duas ocorrências desse padrão.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
$ Finalize a correspondência no final da linha.End the match at the end of the line.

Comentários

O IsMatch método é normalmente usado para validar uma cadeia de caracteres ou para garantir que uma cadeia de caracteres esteja de acordo com um padrão específico sem recuperar essa cadeia de caracteres para manipulação subsequente.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se você quiser determinar se uma ou mais cadeias de caracteres correspondem a um padrão de expressão regular e, em seguida, recuperá Match - Matches las para manipulação subsequente, chame o método ou.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

A RegexMatchTimeoutException exceção será gerada se o tempo de execução da operação de correspondência exceder o intervalo de tempo limite especificado Regex.Regex(String, RegexOptions, TimeSpan) pelo construtor.The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified by the Regex.Regex(String, RegexOptions, TimeSpan) constructor. Se você não definir um intervalo de tempo limite ao chamar o construtor, a exceção será gerada se a operação exceder qualquer valor de tempo limite estabelecido para o domínio do aplicativo no qual o Regex objeto é criado.If you do not set a time-out interval when you call the constructor, the exception is thrown if the operation exceeds any time-out value established for the application domain in which the Regex object is created. Se nenhum tempo limite for definido na Regex chamada de construtor ou nas propriedades do domínio do aplicativo, ou se o valor de tempo limite for Regex.InfiniteMatchTimeout, nenhuma exceção será lançada.If no time-out is defined in the Regex constructor call or in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

Veja também

IsMatch(String, String)

Indica se a expressão regular especificada encontra uma correspondência na cadeia de caracteres de entrada especificada.Indicates whether the specified regular expression finds a match in the specified input string.

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

A cadeia de caracteres na qual será pesquisada uma correspondência.The string to search for a match.

pattern
String

O padrão de expressão regular para correspondência.The regular expression pattern to match.

Retornos

true se a expressão regular encontrar uma correspondência; caso contrário, false.true if the regular expression finds a match; otherwise, false.

Exceções

Ocorreu um erro de análise da expressão regular.A regular expression parsing error occurred.

input ou pattern é null.input or pattern is null.

Ocorreu um tempo limite.A time-out occurred. Para obter mais informações sobre tempos limite, consulte a seção Comentários.For more information about time-outs, see the Remarks section.

Exemplos

O exemplo a seguir ilustra o uso do IsMatch(String, String) método para determinar se uma cadeia de caracteres é um número de peça válido.The following example illustrates the use of the IsMatch(String, String) method to determine whether a string is a valid part number. A expressão regular pressupõe que o número da peça tem um formato específico que consiste em três conjuntos de caracteres separados por hifens.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. O primeiro conjunto, que contém quatro caracteres, deve consistir em um caractere alfanumérico seguido de dois caracteres numéricos seguidos de um caractere alfanumérico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. O segundo conjunto, que consiste em três caracteres, deve ser numérico.The second set, which consists of three characters, must be numeric. O terceiro conjunto, que consiste em quatro caracteres, deve ter três caracteres numéricos seguidos por um caractere alfanumérico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      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("{0} {1} a valid part number.", 
                           partNumber, 
                           Regex.IsMatch(partNumber, pattern) ? "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-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.

O padrão da expressão regular é:The regular expression pattern is:

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

A tabela a seguir mostra como o padrão da expressão regular é interpretado.The following table shows how the regular expression pattern is interpreted.

PadrãoPattern DescriçãoDescription
^ Inicie a correspondência no início da linha.Begin the match at the beginning of the line.
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
\d{2} Corresponder dois caracteres numéricos.Match two numeric characters.
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
- Corresponder a um hífen.Match a hyphen.
\d{3} Corresponder exatamente a três caracteres numéricos.Match exactly three numeric characters.
(-\d{3}){2} Localize um hífen seguido por três caracteres numéricos e Combine duas ocorrências desse padrão.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[a-zA-Z0-9] Corresponder um único caractere alfabético (a por z meio A de Zou até) ou caractere numérico.Match a single alphabetic character (a through z or A through Z) or numeric character.
$ Finalize a correspondência no final da linha.End the match at the end of the line.

Comentários

O IsMatch método é normalmente usado para validar uma cadeia de caracteres ou para garantir que uma cadeia de caracteres esteja de acordo com um padrão específico sem recuperar essa cadeia de caracteres para manipulação subsequente.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se você quiser determinar se uma ou mais cadeias de caracteres correspondem a um padrão de expressão regular e, em seguida, recuperá Match - Matches las para manipulação subsequente, chame o método ou.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

O método IsMatch(String, String) estático é equivalente a construir um Regex objeto com o padrão de expressão regular especificado por pattern e chamar o IsMatch(String) método de instância.The static IsMatch(String, String) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and calling the IsMatch(String) instance method. Esse padrão de expressão regular é armazenado em cache para recuperação rápida pelo mecanismo de expressão regular.This regular expression pattern is cached for rapid retrieval by the regular expression engine.

O pattern parâmetro consiste em elementos de linguagem de expressão regular que descrevem de forma simbólica a cadeia de caracteres a ser correspondente.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Para obter mais informações sobre expressões regulares, consulte .NET Framework expressões regulares e linguagem de expressão regular-referência rápida.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

A RegexMatchTimeoutException exceção será gerada se o tempo de execução da operação de correspondência exceder o intervalo de tempo limite especificado para o domínio do aplicativo no qual o método é chamado.The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified for the application domain in which the method is called. Se nenhum tempo limite for definido nas propriedades do domínio do aplicativo ou se o valor de tempo limite for Regex.InfiniteMatchTimeout, nenhuma exceção será lançada.If no time-out is defined in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

Notas aos Chamadores

Esse método atinge o tempo limite após um intervalo que é igual ao valor de tempo limite padrão do domínio do aplicativo no qual o método é chamado.This method times out after an interval that is equal to the default time-out value of the application domain in which the method is called. Se um valor de tempo limite não tiver sido definido para o domínio do aplicativo, o InfiniteMatchTimeoutvalor, que impedirá o tempo limite do método, será usado.If a time-out value has not been defined for the application domain, the value InfiniteMatchTimeout, which prevents the method from timing out, is used. O método estático recomendado para verificar uma correspondência de padrão é IsMatch(String, String, RegexOptions, TimeSpan), que permite definir o intervalo de tempo limite.The recommended static method for verifying a pattern match is IsMatch(String, String, RegexOptions, TimeSpan), which lets you set the time-out interval.

Veja também

IsMatch(String, String, RegexOptions)

Indica se a expressão regular especificada encontra uma correspondência na cadeia de caracteres de entrada especificada, usando as opções de correspondência especificadas.Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options.

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

A cadeia de caracteres na qual será pesquisada uma correspondência.The string to search for a match.

pattern
String

O padrão de expressão regular para correspondência.The regular expression pattern to match.

options
RegexOptions

Uma combinação bit a bit dos valores de enumeração que fornece opções para correspondência.A bitwise combination of the enumeration values that provide options for matching.

Retornos

true se a expressão regular encontrar uma correspondência; caso contrário, false.true if the regular expression finds a match; otherwise, false.

Exceções

Ocorreu um erro de análise da expressão regular.A regular expression parsing error occurred.

input ou pattern é null.input or pattern is null.

options não é um valor RegexOptions válido.options is not a valid RegexOptions value.

Ocorreu um tempo limite.A time-out occurred. Para obter mais informações sobre tempos limite, consulte a seção Comentários.For more information about time-outs, see the Remarks section.

Exemplos

O exemplo a seguir ilustra o uso do IsMatch(String, String) método para determinar se uma cadeia de caracteres é um número de peça válido.The following example illustrates the use of the IsMatch(String, String) method to determine whether a string is a valid part number. A expressão regular pressupõe que o número da peça tem um formato específico que consiste em três conjuntos de caracteres separados por hifens.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. O primeiro conjunto, que contém quatro caracteres, deve consistir em um caractere alfanumérico seguido de dois caracteres numéricos seguidos de um caractere alfanumérico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. O segundo conjunto, que consiste em três caracteres, deve ser numérico.The second set, which consists of three characters, must be numeric. O terceiro conjunto, que consiste em quatro caracteres, deve ter três caracteres numéricos seguidos por um caractere alfanumérico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      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.

O padrão da expressão regular é:The regular expression pattern is:

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

A tabela a seguir mostra como o padrão da expressão regular é interpretado.The following table shows how the regular expression pattern is interpreted.

PadrãoPattern DescriçãoDescription
^ Começar a correspondência no início da cadeia de caracteres.Begin the match at the beginning of the string.
[A-Z0-9] Corresponder qualquer caractere alfabético único de A até Zou qualquer caractere numérico.Match any single alphabetic character from A through Z, or any numeric character.
\d{2} Corresponder dois caracteres numéricos.Match two numeric characters.
[A-Z0-9] Corresponder qualquer caractere alfabético único de A até Zou qualquer caractere numérico.Match any single alphabetic character from A through Z, or any numeric character.
- Corresponder a um hífen.Match a hyphen.
\d{3} Corresponder exatamente a três caracteres numéricos.Match exactly three numeric characters.
(-\d{3}){2} Localize um hífen seguido por três caracteres numéricos e Combine duas ocorrências desse padrão.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern..
[A-Z0-9] Corresponder qualquer caractere alfabético único de A até Zou qualquer caractere numérico.Match any single alphabetic character from A through Z, or any numeric character.
$ Encerrar a correspondência ao final da cadeia de caracteres.End the match at the end of the string.

Chamar o IsMatch(String, String, RegexOptions) método com o options parâmetro definido como RegexOptions.IgnoreCase é equivalente a definir a seguinte expressão regular:Calling the IsMatch(String, String, RegexOptions) method with the options parameter set to RegexOptions.IgnoreCase is equivalent to defining the following regular expression:

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

Para comparação, consulte o exemplo para o IsMatch(String, String) método.For comparison, see the example for the IsMatch(String, String) method.

Comentários

O IsMatch método é normalmente usado para validar uma cadeia de caracteres ou para garantir que uma cadeia de caracteres esteja de acordo com um padrão específico sem recuperar essa cadeia de caracteres para manipulação subsequente.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se você quiser determinar se uma ou mais cadeias de caracteres correspondem a um padrão de expressão regular e, em seguida, recuperá Match - Matches las para manipulação subsequente, chame o método ou.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

O método IsMatch(String, String, RegexOptions) estático é equivalente a construir um Regex objeto com o padrão de expressão regular especificado por pattern e as opções de expressão regular especificadas options por e chamando IsMatch(String) a instância forma.The static IsMatch(String, String, RegexOptions) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and the regular expression options specified by options and calling the IsMatch(String) instance method. Esse padrão de expressão regular é armazenado em cache para recuperação rápida pelo mecanismo de expressão regular.This regular expression pattern is cached for rapid retrieval by the regular expression engine.

O pattern parâmetro consiste em elementos de linguagem de expressão regular que descrevem de forma simbólica a cadeia de caracteres a ser correspondente.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Para obter mais informações sobre expressões regulares, consulte .NET Framework expressões regulares e linguagem de expressão regular-referência rápida.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

A RegexMatchTimeoutException exceção será gerada se o tempo de execução da operação de correspondência exceder o intervalo de tempo limite especificado para o domínio do aplicativo no qual o método é chamado.The RegexMatchTimeoutException exception is thrown if the execution time of the matching operation exceeds the time-out interval specified for the application domain in which the method is called. Se nenhum tempo limite for definido nas propriedades do domínio do aplicativo ou se o valor de tempo limite for Regex.InfiniteMatchTimeout, nenhuma exceção será lançada.If no time-out is defined in the application domain's properties, or if the time-out value is Regex.InfiniteMatchTimeout, no exception is thrown.

Notas aos Chamadores

Esse método atinge o tempo limite após um intervalo que é igual ao valor de tempo limite padrão do domínio do aplicativo no qual ele é chamado.This method times out after an interval that is equal to the default time-out value of the application domain in which it is called. Se um valor de tempo limite não tiver sido definido para o domínio do aplicativo, o InfiniteMatchTimeoutvalor, que impedirá o tempo limite do método, será usado.If a time-out value has not been defined for the application domain, the value InfiniteMatchTimeout, which prevents the method from timing out, is used. O método estático recomendado para verificar uma correspondência de padrão é IsMatch(String, String, RegexOptions, TimeSpan), que permite definir o intervalo de tempo limite.The recommended static method for verifying a pattern match is IsMatch(String, String, RegexOptions, TimeSpan), which lets you set the time-out interval.

Veja também

IsMatch(String, String, RegexOptions, TimeSpan)

Indica se a expressão regular especificada encontra uma correspondência na cadeia de caracteres de entrada especificada, usando as opções de correspondência e intervalo de tempo limite especificados.Indicates whether the specified regular expression finds a match in the specified input string, using the specified matching options and time-out interval.

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

A cadeia de caracteres na qual será pesquisada uma correspondência.The string to search for a match.

pattern
String

O padrão de expressão regular para correspondência.The regular expression pattern to match.

options
RegexOptions

Uma combinação bit a bit dos valores de enumeração que fornece opções para correspondência.A bitwise combination of the enumeration values that provide options for matching.

matchTimeout
TimeSpan

Um intervalo de tempo limite ou InfiniteMatchTimeout para indicar que o método não deve atingir o tempo limite.A time-out interval, or InfiniteMatchTimeout to indicate that the method should not time out.

Retornos

true se a expressão regular encontrar uma correspondência; caso contrário, false.true if the regular expression finds a match; otherwise, false.

Exceções

Ocorreu um erro de análise da expressão regular.A regular expression parsing error occurred.

input ou pattern é null.input or pattern is null.

options não é um valor RegexOptions válido.options is not a valid RegexOptions value.

- ou --or- matchTimeout é negativo, zero ou maior que aproximadamente 24 dias.matchTimeout is negative, zero, or greater than approximately 24 days.

Ocorreu um tempo limite.A time-out occurred.

Exemplos

O exemplo a seguir ilustra o uso do IsMatch(String, String, RegexOptions, TimeSpan) método para determinar se uma cadeia de caracteres é um número de peça válido.The following example illustrates the use of the IsMatch(String, String, RegexOptions, TimeSpan) method to determine whether a string is a valid part number. A expressão regular pressupõe que o número da peça tem um formato específico que consiste em três conjuntos de caracteres separados por hifens.The regular expression assumes that the part number has a specific format that consists of three sets of characters separated by hyphens. O primeiro conjunto, que contém quatro caracteres, deve consistir em um caractere alfanumérico seguido de dois caracteres numéricos seguidos de um caractere alfanumérico.The first set, which contains four characters, must consist of an alphanumeric character followed by two numeric characters followed by an alphanumeric character. O segundo conjunto, que consiste em três caracteres, deve ser numérico.The second set, which consists of three characters, must be numeric. O terceiro conjunto, que consiste em quatro caracteres, deve ter três caracteres numéricos seguidos por um caractere alfanumérico.The third set, which consists of four characters, must have three numeric characters followed by an alphanumeric character. A correspondência do padrão de expressão regular deve envolver o mínimo de pesquisa por meio da cadeia de caracteres de entrada, portanto, o método define um intervalo de tempo limite de 500 milissegundos.Matching the regular expression pattern should involve minimal searching through the input string, so the method sets a time-out interval of 500 milliseconds.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      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 {
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, 
                              Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase) 
                                            ? "is" : "is not", TimeSpan.FromMilliseconds(500));
         }
         catch (RegexMatchTimeoutException e) {
            Console.WriteLine("Timeout after {0} seconds matching {1}.",
                              e.MatchTimeout, 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.

O padrão da expressão regular é:The regular expression pattern is:

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

A tabela a seguir mostra como o padrão da expressão regular é interpretado.The following table shows how the regular expression pattern is interpreted.

PadrãoPattern DescriçãoDescription
^ Começar a correspondência no início da cadeia de caracteres.Begin the match at the beginning of the string.
[A-Z0-9] Corresponder qualquer caractere alfabético único de A até Zou qualquer caractere numérico.Match any single alphabetic character from A through Z, or any numeric character.
\d{2} Corresponder dois caracteres numéricos.Match two numeric characters.
[A-Z0-9] Corresponder qualquer caractere alfabético único de A até Zou qualquer caractere numérico.Match any single alphabetic character from A through Z, or any numeric character.
- Corresponder a um hífen.Match a hyphen.
\d{3} Corresponder exatamente a três caracteres numéricos.Match exactly three numeric characters.
(-\d{3}){2} Localize um hífen seguido por três caracteres numéricos e Combine duas ocorrências desse padrão.Find a hyphen followed by three numeric characters, and match two occurrences of this pattern.
[A-Z0-9] Corresponder qualquer caractere alfabético único de A até Zou qualquer caractere numérico.Match any single alphabetic character from A through Z, or any numeric character.
$ Encerrar a correspondência ao final da cadeia de caracteres.End the match at the end of the string.

Chamar o IsMatch(String, String, RegexOptions, TimeSpan) método com o options parâmetro definido como RegexOptions.IgnoreCase é equivalente a definir a seguinte expressão regular:Calling the IsMatch(String, String, RegexOptions, TimeSpan) method with the options parameter set to RegexOptions.IgnoreCase is equivalent to defining the following regular expression:

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

Para comparação, consulte o exemplo para o IsMatch(String, String) método.For comparison, see the example for the IsMatch(String, String) method.

Comentários

O IsMatch método é normalmente usado para validar uma cadeia de caracteres ou para garantir que uma cadeia de caracteres esteja de acordo com um padrão específico sem recuperar essa cadeia de caracteres para manipulação subsequente.The IsMatch method is typically used to validate a string or to ensure that a string conforms to a particular pattern without retrieving that string for subsequent manipulation. Se você quiser determinar se uma ou mais cadeias de caracteres correspondem a um padrão de expressão regular e, em seguida, recuperá Match - Matches las para manipulação subsequente, chame o método ou.If you want to determine whether one or more strings match a regular expression pattern and then retrieve them for subsequent manipulation, call the Match or Matches method.

O método IsMatch(String, String, RegexOptions, TimeSpan) estático é equivalente a construir um Regex objeto com o padrão de expressão regular especificado por pattern e as opções de expressão regular especificadas options por e chamando IsMatch(String) a instância forma.The static IsMatch(String, String, RegexOptions, TimeSpan) method is equivalent to constructing a Regex object with the regular expression pattern specified by pattern and the regular expression options specified by options and calling the IsMatch(String) instance method. Esse padrão de expressão regular é armazenado em cache para recuperação rápida pelo mecanismo de expressão regular.This regular expression pattern is cached for rapid retrieval by the regular expression engine.

O pattern parâmetro consiste em elementos de linguagem de expressão regular que descrevem de forma simbólica a cadeia de caracteres a ser correspondente.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Para obter mais informações sobre expressões regulares, consulte .NET Framework expressões regulares e linguagem de expressão regular-referência rápida.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

O matchTimeout parâmetro especifica quanto tempo um método de correspondência de padrões deve tentar encontrar uma correspondência antes de expirar. A definição de um intervalo de tempo limite impede que expressões regulares que dependem de retrocesso excessivo apareçam para parar de responder quando processam a entrada que contém correspondências próximas.The matchTimeout parameter specifies how long a pattern matching method should try to find a match before it times out. Setting a time-out interval prevents regular expressions that rely on excessive backtracking from appearing to stop responding when they process input that contains near matches. Para obter mais informações, consulte práticas recomendadas para expressões regulares e retrocesso.For more information, see Best Practices for Regular Expressions and Backtracking. Se nenhuma correspondência for encontrada nesse intervalo de tempo, o método lançará RegexMatchTimeoutException uma exceção.If no match is found in that time interval, the method throws a RegexMatchTimeoutException exception. matchTimeoutsubstitui qualquer valor de tempo limite padrão definido para o domínio do aplicativo no qual o método é executado.matchTimeout overrides any default time-out value defined for the application domain in which the method executes.

Notas aos Chamadores

Recomendamos que você defina o matchTimeout parâmetro para um valor apropriado, como dois segundos.We recommend that you set the matchTimeout parameter to an appropriate value, such as two seconds. Se você desabilitar os tempos limite especificando InfiniteMatchTimeout, o mecanismo de expressão regular oferece um desempenho ligeiramente melhor.If you disable time-outs by specifying InfiniteMatchTimeout, the regular expression engine offers slightly better performance. No entanto, você deve desabilitar o tempo limite somente sob as seguintes condições:However, you should disable time-outs only under the following conditions: -Quando a entrada processada por uma expressão regular é derivada de uma fonte conhecida e confiável ou consiste em texto estático.- When the input processed by a regular expression is derived from a known and trusted source or consists of static text. Isso exclui o texto que foi inserido dinamicamente pelos usuários.This excludes text that has been dynamically input by users.

-Quando o padrão de expressão regular foi totalmente testado para garantir que ele lide com as correspondências, não correspondentes e correspondências próximas.- When the regular expression pattern has been thoroughly tested to ensure that it efficiently handles matches, non-matches, and near matches.

-Quando o padrão de expressão regular não contém nenhum elemento de linguagem que seja conhecido por causar um retrocesso excessivo ao processar uma correspondência próxima.- When the regular expression pattern contains no language elements that are known to cause excessive backtracking when processing a near match.

Veja também

Aplica-se a