Compartilhar via


Match.Result(String) Método

Definição

Retorna a expansão do padrão de substituição especificado.

public:
 virtual System::String ^ Result(System::String ^ replacement);
public virtual string Result (string replacement);
abstract member Result : string -> string
override this.Result : string -> string
Public Overridable Function Result (replacement As String) As String

Parâmetros

replacement
String

O padrão de substituição a ser usado.

Retornos

String

A versão expandida do parâmetro replacement.

Exceções

replacement é null.

A expansão não é permitida para este padrão.

Exemplos

O exemplo a seguir substitui os hífens que começam e terminam uma expressão parêntese por parênteses.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = "--(.+?)--";
      string replacement = "($1)";
      string input = "He said--decisively--that the time--whatever time it was--had come.";
      foreach (Match match in Regex.Matches(input, pattern))
      {
         string result = match.Result(replacement);
         Console.WriteLine(result);
      }
   }
}
// The example displays the following output:
//       (decisively)
//       (whatever time it was)
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "--(.+?)--"
      Dim replacement As String = "($1)"
      Dim input As String = "He said--decisively--that the time--whatever time it was--had come."
      For Each match As Match In Regex.Matches(input, pattern)
         Dim result As String = match.Result(replacement)
         Console.WriteLine(result)
      Next
   End Sub
End Module
' The example displays the following output:
'       (decisively)
'       (whatever time it was)

O padrão da expressão regular --(.+?)-- é interpretado conforme mostrado na tabela a seguir.

Padrão Descrição
-- Corresponde a dois hífens.
(.+?) Corresponda a qualquer caractere uma ou mais vezes, mas o menor número possível. Este é o primeiro grupo de captura.
-- Corresponde a dois hífens.

Observe que o padrão --(.+?)-- de expressão regular usa o quantificador +?lento. Se o quantificador + greedy fosse usado em vez disso, o mecanismo de expressão regular encontraria apenas uma única correspondência na cadeia de caracteres de entrada.

A cadeia de caracteres ($1) de substituição substitui a correspondência pelo primeiro grupo capturado, que está entre parênteses.

Comentários

Enquanto o Regex.Replace método substitui todas as correspondências em uma cadeia de caracteres de entrada por um padrão de substituição especificado, o Result método substitui uma única correspondência por um padrão de substituição especificado. Como ele opera em uma correspondência individual, também é possível executar o processamento na cadeia de caracteres correspondente antes de chamar o Result método.

O replacement parâmetro é um padrão de substituição de expressão regular padrão. Ele pode consistir em caracteres literais e substituições de expressões regulares. Para saber mais, confira Substituições.

Aplica-se a

Confira também