Regex.Match Regex.Match Regex.Match Regex.Match Method

Definicja

Wyszukuje w ciągu wejściowym, podciągu, który jest zgodny ze wzorcem wyrażenia regularnego i zwraca pierwsze wystąpienie jako pojedynczy Match obiektu.Searches an input string for a substring that matches a regular expression pattern and returns the first occurrence as a single Match object.

Przeciążenia

Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan)

Wyszukuje w ciągu wejściowym, aby pierwsze wystąpienie określonego wyrażenia regularnego przy użyciu określonego dopasowania interwał opcje i limitu czasu.Searches the input string for the first occurrence of the specified regular expression, using the specified matching options and time-out interval.

Match(String, Int32, Int32) Match(String, Int32, Int32) Match(String, Int32, Int32) Match(String, Int32, Int32)

Wyszukuje w ciągu wejściowym, aby pierwsze wystąpienie wyrażenia regularnego, zaczynając od określonej pozycji początkowej i wyszukiwanie tylko określoną liczbę znaków.Searches the input string for the first occurrence of a regular expression, beginning at the specified starting position and searching only the specified number of characters.

Match(String, String, RegexOptions) Match(String, String, RegexOptions) Match(String, String, RegexOptions) Match(String, String, RegexOptions)

Wyszukuje w ciągu wejściowym, aby pierwsze wystąpienie określonego wyrażenia regularnego przy użyciu określonych opcji dopasowania.Searches the input string for the first occurrence of the specified regular expression, using the specified matching options.

Match(String, Int32) Match(String, Int32) Match(String, Int32) Match(String, Int32)

Wyszukuje w ciągu wejściowym, aby pierwsze wystąpienie wyrażenia regularnego, zaczynając od określonej pozycji początkowej w ciągu.Searches the input string for the first occurrence of a regular expression, beginning at the specified starting position in the string.

Match(String) Match(String) Match(String) Match(String)

Wyszukuje określony ciągu wejściowym, aby pierwsze wystąpienie z wyrażeniem regularnym określonym w Regex konstruktora.Searches the specified input string for the first occurrence of the regular expression specified in the Regex constructor.

Match(String, String) Match(String, String) Match(String, String) Match(String, String)

Wyszukuje określony ciągu wejściowym, aby pierwsze wystąpienie określonego wyrażenia regularnego.Searches the specified input string for the first occurrence of the specified regular expression.

Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan) Match(String, String, RegexOptions, TimeSpan)

Wyszukuje w ciągu wejściowym, aby pierwsze wystąpienie określonego wyrażenia regularnego przy użyciu określonego dopasowania interwał opcje i limitu czasu.Searches the input string for the first occurrence of the specified regular expression, using the specified matching options and time-out interval.

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

Parametry

input
String String String String

Ciąg do wyszukania pod kątem dopasowania.The string to search for a match.

pattern
String String String String

Wzorzec wyrażenia regularnego do dopasowania.The regular expression pattern to match.

options
RegexOptions RegexOptions RegexOptions RegexOptions

Bitowa kombinacja wartości wyliczenia, które udostępniają opcje do dopasowania.A bitwise combination of the enumeration values that provide options for matching.

matchTimeout
TimeSpan TimeSpan TimeSpan TimeSpan

Interwał limitu czasu lub InfiniteMatchTimeout do wskazania, że metoda powinna nie przekraczają limit czasu.A time-out interval, or InfiniteMatchTimeout to indicate that the method should not time out.

Zwraca

Obiekt, który zawiera informacje o zgodności.An object that contains information about the match.

Wyjątki

Wystąpił błąd analizowania wyrażenia regularnego.A regular expression parsing error occurred.

input lub pattern jest null.input or pattern is null.

options nie jest prawidłową kombinację bitowe RegexOptions wartości.options is not a valid bitwise combination of RegexOptions values.

—lub—-or- matchTimeout ma wartość ujemną, zerowego, lub większa od około 24 dni.matchTimeout is negative, zero, or greater than approximately 24 days.

Upłynął limit czasu.A time-out occurred. Aby uzyskać więcej informacji na temat limitów czasu Zobacz sekcję Uwagi.For more information about time-outs, see the Remarks section.

Uwagi

Match(String, String, RegexOptions, TimeSpan) Metoda zwraca wartość pierwszego podciągu, który jest zgodny ze wzorcem wyrażenia regularnego w ciągu wejściowym.The Match(String, String, RegexOptions, TimeSpan) method returns the first substring that matches a regular expression pattern in an input string. Aby uzyskać informacji na temat elementów języka, używany do tworzenia wzorca wyrażenia regularnego, zobacz język wyrażeń regularnych — podręczny wykaz.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Statyczne Match(String, String, RegexOptions, TimeSpan) metoda jest równoważna konstruowanie Regex obiekt z Regex(String, RegexOptions, TimeSpan) Konstruktor i wywoływać metodę wystąpienia Match(String) metody.The static Match(String, String, RegexOptions, TimeSpan) method is equivalent to constructing a Regex object with the Regex(String, RegexOptions, TimeSpan) constructor and calling the instance Match(String) method.

pattern Parametr składa się z elementy języka wyrażeń regularnych, które opisują symbolicznie ciąg do dopasowania.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Aby uzyskać więcej informacji na temat wyrażeń regularnych, zobacz wyrażeń regularnych programu .NET Framework i język wyrażeń regularnych — podręczny wykaz.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

Można określić, czy wykryto wzorzec wyrażenia regularnego do ciągu wejściowego, sprawdzając wartość zwracanej Match obiektu Success właściwości.You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. Jeśli zostanie znalezione dopasowanie, zwrócony Match obiektu Value właściwość zawiera podciąg z input który pasuje do wzorca wyrażenia regularnego.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Jeśli nie zostanie znalezione dopasowanie, jego wartość jest String.Empty.If no match is found, its value is String.Empty.

Ta metoda zwraca wartość pierwszego podciągu w input który pasuje do wzorca wyrażenia regularnego.This method returns the first substring found in input that matches the regular expression pattern. Możesz pobrać kolejnych dopasowań, wywołując wielokrotnie zwracanego Match obiektu NextMatch metody.You can retrieve subsequent matches by repeatedly calling the returned Match object's NextMatch method. Możesz również pobrać wszystkich dopasowań w pojedynczym wywołaniu metody, wywołując Regex.Matches(String, String, RegexOptions) metody.You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String, RegexOptions) method.

matchTimeout Parametr określa, jak długo dopasowywanie do wzorców metody prób znalezienia dopasowania, przed upływem limitu czasu. Ustawienie interwału limitu czasu zapobiega wyrażeń regularnych, które są nadmiernie używać wycofywania pojawianiu się może przestać odpowiadać podczas przetwarzania danych wejściowych zawiera dopasowania.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. Aby uzyskać więcej informacji, zobacz najlepsze rozwiązania dotyczące wyrażeń regularnych i Backtracking.For more information, see Best Practices for Regular Expressions and Backtracking. Jeśli nie zostanie znalezione dopasowanie w tym przedziale czasu, metoda zgłasza RegexMatchTimeoutException wyjątku.If no match is found in that time interval, the method throws a RegexMatchTimeoutException exception. matchTimeout zastępuje wszelkie domyślną wartość limitu czasu, który jest zdefiniowany dla domeny aplikacji, w którym metoda jest wykonywana.matchTimeout overrides any default time-out value defined for the application domain in which the method executes.

Uwagi dotyczące wywoływania

Firma Microsoft zaleca, aby ustawić matchTimeout parametru do odpowiedniej wartości, takich jak dwóch sekund.We recommend that you set the matchTimeout parameter to an appropriate value, such as two seconds. Jeśli wyłączysz limity czasu, określając InfiniteMatchTimeout, aparat wyrażeń regularnych zapewnia nieco większą wydajność.If you disable time-outs by specifying InfiniteMatchTimeout, the regular expression engine offers slightly better performance. Jednakże należy wyłączyć limity czasu tylko w następujących warunkach:However, you should disable time-outs only under the following conditions: — W przypadku danych wejściowych, przetwarzane przez wyrażenie regularne jest pochodną znanego i zaufanego źródła lub zawiera tekst statyczny.- When the input processed by a regular expression is derived from a known and trusted source or consists of static text. Nie obejmuje to tekst, który znajduje się dynamicznie danych wprowadzonych przez użytkowników.This excludes text that has been dynamically input by users.

— Jeśli wzorzec wyrażenia regularnego dokładnie przetestowano upewnij się, że umożliwia ona efektywne obsługę, bez dopasowania i wkrótce.- When the regular expression pattern has been thoroughly tested to ensure that it efficiently handles matches, non-matches, and near matches.

— W przypadku wzorca wyrażenia regularnego nie zawiera żadnych elementów języka, które są znane, aby spowodować, że nadmierne używanie wycofywania podczas przetwarzania niemal dopasowania.- When the regular expression pattern contains no language elements that are known to cause excessive backtracking when processing a near match.

Zobacz też

Match(String, Int32, Int32) Match(String, Int32, Int32) Match(String, Int32, Int32) Match(String, Int32, Int32)

Wyszukuje w ciągu wejściowym, aby pierwsze wystąpienie wyrażenia regularnego, zaczynając od określonej pozycji początkowej i wyszukiwanie tylko określoną liczbę znaków.Searches the input string for the first occurrence of a regular expression, beginning at the specified starting position and searching only the specified number of characters.

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

Parametry

input
String String String String

Ciąg do wyszukania pod kątem dopasowania.The string to search for a match.

beginning
Int32 Int32 Int32 Int32

Pozycja od zera znaku w ciągu wejściowym, który definiuje skrajnie po lewej stronie położenie do wyszukania.The zero-based character position in the input string that defines the leftmost position to be searched.

length
Int32 Int32 Int32 Int32

Liczba znaków w podciąg, który należy uwzględnić w wyszukiwaniu.The number of characters in the substring to include in the search.

Zwraca

Obiekt, który zawiera informacje o zgodności.An object that contains information about the match.

Wyjątki

beginning jest mniejsza od zera lub większa niż długość input.beginning is less than zero or greater than the length of input.

—lub—-or- length jest mniejsza od zera lub większa niż długość input.length is less than zero or greater than the length of input.

—lub—-or- beginning+length-1 Określa położenie, który jest poza zakresem input.beginning+length-1 identifies a position that is outside the range of input.

Upłynął limit czasu.A time-out occurred. Aby uzyskać więcej informacji na temat limitów czasu Zobacz sekcję Uwagi.For more information about time-outs, see the Remarks section.

Uwagi

Match(String, Int32, Int32) Metoda zwraca wartość pierwszego podciągu, który jest zgodny ze wzorcem wyrażenia regularnego, w części ciągu wejściowego.The Match(String, Int32, Int32) method returns the first substring that matches a regular expression pattern in a portion of an input string. Aby uzyskać informacji na temat elementów języka, używany do tworzenia wzorca wyrażenia regularnego, zobacz język wyrażeń regularnych — podręczny wykaz.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Wzorzec wyrażenia regularnego, dla którego Match(String, Int32, Int32) metoda wyszukiwania jest definiowany przez wywołanie jednej z Regex klasy konstruktorów.The regular expression pattern for which the Match(String, Int32, Int32) method searches is defined by the call to one of the Regex class constructors. Aby uzyskać więcej informacji na temat elementy tworzące wzorzec wyrażenia regularnego, zobacz język wyrażeń regularnych — podręczny wykaz.For more information about the elements that can form a regular expression pattern, see Regular Expression Language - Quick Reference.

Match(String, Int32, Int32) Metoda wyszukuje część input definicją beginning i length parametrów dla wzorca wyrażenia regularnego.The Match(String, Int32, Int32) method searches the portion of input defined by the beginning and length parameters for the regular expression pattern. beginning zawsze definiuje indeks skrajnie po lewej stronie znaku do uwzględnienia w wyszukiwaniu, i length określa maksymalną liczbę znaków do wyszukania.beginning always defines the index of the leftmost character to include in the search, and length defines the maximum number of characters to search. Definiują one zakres wyszukiwania.Together, they define the range of the search. Jeśli wyszukiwanie rozpoczynające się od lewej do prawej (ustawienie domyślne), aparat wyrażeń regularnych przeszukuje od znaku o indeksie beginning do znaku w indeksie beginning + length - 1.If the search proceeds from left to right (the default), the regular expression engine searches from the character at index beginning to the character at index beginning + length - 1. Jeśli aparat wyrażeń regularnych zostało utworzone przy użyciu RegexOptions.RightToLeft opcji wyszukiwanie rozpoczynające się od prawej do pozostałych wyszukiwania aparatu wyrażenia regularnego od znaku o indeksie beginning + length - 1 do znak w indeksie beginning.If the regular expression engine was instantiated by using the RegexOptions.RightToLeft option so that the search proceeds from right to left, the regular expression engine searches from the character at index beginning + length - 1 to the character at index beginning. Ta metoda zwraca pierwsze dopasowanie, które znajdzie się w tym zakresie.This method returns the first match that it finds within this range. Możesz pobrać kolejnych dopasowań, wywołując wielokrotnie zwracanego Match obiektu Match.NextMatch metody.You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method.

Można określić, czy wykryto wzorzec wyrażenia regularnego do ciągu wejściowego, sprawdzając wartość zwracanej Match obiektu Success właściwości.You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. Jeśli zostanie znalezione dopasowanie, zwrócony Match obiektu Value właściwość zawiera podciąg z input który pasuje do wzorca wyrażenia regularnego.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Jeśli nie zostanie znalezione dopasowanie, jego wartość jest String.Empty.If no match is found, its value is String.Empty.

RegexMatchTimeoutException Wyjątek jest generowany, jeśli czas wykonywania operacji dopasowywania przekroczy limit czasu określony przez Regex.Regex(String, RegexOptions, TimeSpan) konstruktora.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. Jeśli nie ustawisz wartość limitu czasu podczas wywoływania konstruktora, wyjątek jest zgłaszany, jeśli operacja przekroczy dowolną wartość limitu czasu ustanowione dla domeny aplikacji, w którym Regex obiekt zostanie utworzony.If you do not set a time-out value 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. Jeśli limit czasu nie jest zdefiniowany w Regex wywołania konstruktora lub we właściwościach domeny aplikacji, czy wartość limitu czasu jest Regex.InfiniteMatchTimeout, jest zgłaszany żaden wyjątek.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.

Zobacz też

Match(String, String, RegexOptions) Match(String, String, RegexOptions) Match(String, String, RegexOptions) Match(String, String, RegexOptions)

Wyszukuje w ciągu wejściowym, aby pierwsze wystąpienie określonego wyrażenia regularnego przy użyciu określonych opcji dopasowania.Searches the input string for the first occurrence of the specified regular expression, using the specified matching options.

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

Parametry

input
String String String String

Ciąg do wyszukania pod kątem dopasowania.The string to search for a match.

pattern
String String String String

Wzorzec wyrażenia regularnego do dopasowania.The regular expression pattern to match.

options
RegexOptions RegexOptions RegexOptions RegexOptions

Bitowa kombinacja wartości wyliczenia, które udostępniają opcje do dopasowania.A bitwise combination of the enumeration values that provide options for matching.

Zwraca

Obiekt, który zawiera informacje o zgodności.An object that contains information about the match.

Wyjątki

Wystąpił błąd analizowania wyrażenia regularnego.A regular expression parsing error occurred.

input lub pattern jest null.input or pattern is null.

options nie jest prawidłową kombinację bitowe RegexOptions wartości.options is not a valid bitwise combination of RegexOptions values.

Upłynął limit czasu.A time-out occurred. Aby uzyskać więcej informacji na temat limitów czasu Zobacz sekcję Uwagi.For more information about time-outs, see the Remarks section.

Przykłady

W poniższym przykładzie zdefiniowano wyrażenie regularne dopasowuje słowa rozpoczynające się od litery "".The following example defines a regular expression that matches words beginning with the letter "a". Używa ona RegexOptions.IgnoreCase opcję, aby upewnić się, że wyrażenie regularne lokalizuje słów z zarówno wielką małe "a" i "".It uses the RegexOptions.IgnoreCase option to ensure that the regular expression locates words beginning with both an uppercase "a" and a lowercase "a".

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\ba\w*\b";
      string input = "An extraordinary day dawns with each new day.";
      Match m = Regex.Match(input, pattern, RegexOptions.IgnoreCase);
      if (m.Success)
         Console.WriteLine("Found '{0}' at position {1}.", m.Value, m.Index);
   }
}
// The example displays the following output:
//        Found 'An' at position 0.
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\ba\w*\b"
      Dim input As String = "An extraordinary day dawns with each new day."
      Dim m As Match = Regex.Match(input, pattern, RegexOptions.IgnoreCase)
      If m.Success Then
         Console.WriteLine("Found '{0}' at position {1}.", m.Value, m.Index)
      End If
   End Sub
End Module
' The example displays the following output:
'       Found 'An' at position 0.

Definicję wzorca wyrażenia regularnego \ba\w*\b jest interpretowane tak jak pokazano w poniższej tabeli.The regular expression pattern \ba\w*\b is interpreted as shown in the following table.

WzorzecPattern OpisDescription
\b Rozpoczyna dopasowanie na granicy wyrazu.Begin the match at a word boundary.
a Dopasowuje znak "".Match the character "a".
\w* Dopasowuje zero, jeden lub więcej znaków słowa.Match zero, one, or more word characters.
\b Kończy dopasowanie na granicy wyrazu.End the match at a word boundary.

Uwagi

Match(String, String, RegexOptions) Metoda zwraca wartość pierwszego podciągu, który jest zgodny ze wzorcem wyrażenia regularnego w ciągu wejściowym.The Match(String, String, RegexOptions) method returns the first substring that matches a regular expression pattern in an input string. Aby uzyskać informacji na temat elementów języka, używany do tworzenia wzorca wyrażenia regularnego, zobacz język wyrażeń regularnych — podręczny wykaz.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Statyczne Match(String, String, RegexOptions) metoda jest równoważna konstruowanie Regex obiekt z Regex(String, RegexOptions) Konstruktor i wywoływać metodę wystąpienia Match(String) metody.The static Match(String, String, RegexOptions) method is equivalent to constructing a Regex object with the Regex(String, RegexOptions) constructor and calling the instance Match(String) method.

pattern Parametr składa się z elementy języka wyrażeń regularnych, które opisują symbolicznie ciąg do dopasowania.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Aby uzyskać więcej informacji na temat wyrażeń regularnych, zobacz wyrażeń regularnych programu .NET Framework i język wyrażeń regularnych — podręczny wykaz.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

Można określić, czy wykryto wzorzec wyrażenia regularnego do ciągu wejściowego, sprawdzając wartość zwracanej Match obiektu Success właściwości.You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. Jeśli zostanie znalezione dopasowanie, zwrócony Match obiektu Value właściwość zawiera podciąg z input który pasuje do wzorca wyrażenia regularnego.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Jeśli nie zostanie znalezione dopasowanie, jego wartość jest String.Empty.If no match is found, its value is String.Empty.

Ta metoda zwraca wartość pierwszego podciągu w input który pasuje do wzorca wyrażenia regularnego.This method returns the first substring found in input that matches the regular expression pattern. Możesz pobrać kolejnych dopasowań, wywołując wielokrotnie zwracanego Match obiektu NextMatch metody.You can retrieve subsequent matches by repeatedly calling the returned Match object's NextMatch method. Możesz również pobrać wszystkich dopasowań w pojedynczym wywołaniu metody, wywołując Regex.Matches(String, String, RegexOptions) metody.You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String, RegexOptions) method.

RegexMatchTimeoutException Wyjątek jest generowany, jeśli czas wykonywania operacji dopasowywania przekroczy limit czasu określony dla domeny aplikacji, w którym metoda jest wywoływana.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. Jeśli limit czasu nie jest zdefiniowany we właściwościach domeny aplikacji, czy wartość limitu czasu jest Regex.InfiniteMatchTimeout, jest zgłaszany żaden wyjątek.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.

Uwagi dotyczące wywoływania

Ta metoda upłynie limit czasu po upływie interwału, który jest równa wartości limitu czasu domyślnej domeny aplikacji, w którym jest wywoływana.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. Jeśli nie określono wartość limitu czasu dla domeny aplikacji, a wartość InfiniteMatchTimeout, co uniemożliwia z przekroczeniem limitu czasu, metoda jest używana.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. Zalecana metoda statyczna pobierania dopasowania do wzorca Match(String, String), która pozwala ustawić interwał limitu czasu.The recommended static method for retrieving a pattern match is Match(String, String), which lets you set the time-out interval.

Zobacz też

Match(String, Int32) Match(String, Int32) Match(String, Int32) Match(String, Int32)

Wyszukuje w ciągu wejściowym, aby pierwsze wystąpienie wyrażenia regularnego, zaczynając od określonej pozycji początkowej w ciągu.Searches the input string for the first occurrence of a regular expression, beginning at the specified starting position in the string.

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

Parametry

input
String String String String

Ciąg do wyszukania pod kątem dopasowania.The string to search for a match.

startat
Int32 Int32 Int32 Int32

Pozycja od zera znaku, w którym ma zostać rozpoczęte wyszukiwanie.The zero-based character position at which to start the search.

Zwraca

Obiekt, który zawiera informacje o zgodności.An object that contains information about the match.

Wyjątki

startat jest mniejsza od zera lub większa niż długość input.startat is less than zero or greater than the length of input.

Upłynął limit czasu.A time-out occurred. Aby uzyskać więcej informacji na temat limitów czasu Zobacz sekcję Uwagi.For more information about time-outs, see the Remarks section.

Uwagi

Match(String, Int32) Pierwszego podciągu, który jest zgodny ze wzorcem wyrażenia regularnego, uruchamiania na lub po powrocie z metody startat znak pozycja w ciągu wejściowym.The Match(String, Int32) method returns the first substring that matches a regular expression pattern, starting at or after the startat character position, in an input string. Aby uzyskać informacji na temat elementów języka, używany do tworzenia wzorca wyrażenia regularnego, zobacz język wyrażeń regularnych — podręczny wykaz.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Wzorzec wyrażenia regularnego, dla którego Match(String, Int32) metoda wyszukiwania jest definiowany przez wywołanie jednej z Regex klasy konstruktorów.The regular expression pattern for which the Match(String, Int32) method searches is defined by the call to one of the Regex class constructors. Aby uzyskać więcej informacji na temat elementy tworzące wzorzec wyrażenia regularnego, zobacz język wyrażeń regularnych — podręczny wykaz.For more information about the elements that can form a regular expression pattern, see Regular Expression Language - Quick Reference.

Opcjonalnie można określić pozycję początkową w ciągu przy użyciu startat parametru.You can optionally specify a starting position in the string by using the startat parameter. Gdy aparat wyrażeń regularnych analizuje od lewej do prawej (ustawienie domyślne), dopasowanie i skanowania przenieść rightward, zaczynając od na znak określony we startat.When the regular expression engine parses from left to right (the default), the match and the scan move rightward, starting at the character specified in startat. Kiedy aparat wyrażeń regularnych analizuje od prawej do lewej (gdy wzorzec wyrażenia regularnego jest zbudowany z RegexOptions.RightToLeft opcja), dopasowanie i skanowanie przejść w odwrotnym kierunku i zaczynają się od znaku w startat -1.When the regular expression engine parses from right to left (when the regular expression pattern is constructed with the RegexOptions.RightToLeft option), the match and scan move in the opposite direction and begin with the character at startat -1. Jeśli nie określisz pozycja początkowa, wyszukiwanie rozpoczyna się od domyślnie startat pozycji.If you do not specify a starting position, the search begins at the default startat position. Jeśli wyrażenia regularnego przeszukuje od lewej do prawej, domyślnie startat położenie jest na końcu po lewej stronie input; Jeśli przeszukuje od prawej do lewej, domyślnie startat położenie jest na prawym końcu input.If the regular expression searches from left to right, the default startat position is at the left end of input; if it searches from right to left, the default startat position is at the right end of input.

Jeśli chcesz ograniczyć dopasowanie rozpoczyna się go w położeniu określonego znaku w ciągu, a aparat wyrażeń regularnych nie skanuje pod kątem dopasowania w pozostałej części ciągu zakotwiczyć wyrażenia regularnego z \G (po lewej stronie dla od lewej do prawej wzorzec, lub po prawej dla wzorca od prawej do lewej).If you want to restrict a match so that it begins at a particular character position in the string and the regular expression engine does not scan the remainder of the string for a match, anchor the regular expression with a \G (at the left for a left-to-right pattern, or at the right for a right-to-left pattern). Ogranicza dopasowanie, więc musi zaczynać się dokładnie od startat.This restricts the match so it must start exactly at startat.

Można określić, czy wykryto wzorzec wyrażenia regularnego do ciągu wejściowego, sprawdzając wartość zwracanej Match obiektu Success właściwości.You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. Jeśli zostanie znalezione dopasowanie, zwrócony Match obiektu Value właściwość zawiera podciąg z input który pasuje do wzorca wyrażenia regularnego.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Jeśli nie zostanie znalezione dopasowanie, jego wartość jest String.Empty.If no match is found, its value is String.Empty.

Ta metoda zwraca podciąg pierwszego znaleziono na lub po startat znak na pozycji w input który pasuje do wzorca wyrażenia regularnego.This method returns the first substring found at or after the startat character position in input that matches the regular expression pattern. Możesz pobrać kolejnych dopasowań, wywołując wielokrotnie zwracanego Match obiektu Match.NextMatch metody.You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. Możesz również pobrać wszystkich dopasowań w pojedynczym wywołaniu metody, wywołując Regex.Matches(String, Int32) metody.You can also retrieve all matches in a single method call by calling the Regex.Matches(String, Int32) method.

RegexMatchTimeoutException Wyjątek jest generowany, jeśli czas wykonywania operacji dopasowywania przekroczy limit czasu określony przez Regex.Regex(String, RegexOptions, TimeSpan) konstruktora.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. Jeśli nie ustawisz interwał limitu czasu podczas wywoływania konstruktora, wyjątek jest zgłaszany, jeśli operacja przekroczy dowolną wartość limitu czasu ustanowione dla domeny aplikacji, w którym Regex obiekt zostanie utworzony.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. Jeśli limit czasu nie jest zdefiniowany w Regex wywołania konstruktora lub we właściwościach domeny aplikacji, czy wartość limitu czasu jest Regex.InfiniteMatchTimeout, jest zgłaszany żaden wyjątek.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.

Zobacz też

Match(String) Match(String) Match(String) Match(String)

Wyszukuje określony ciągu wejściowym, aby pierwsze wystąpienie z wyrażeniem regularnym określonym w Regex konstruktora.Searches the specified input string for the first occurrence of the regular expression specified in the 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

Parametry

input
String String String String

Ciąg do wyszukania pod kątem dopasowania.The string to search for a match.

Zwraca

Obiekt, który zawiera informacje o zgodności.An object that contains information about the match.

Wyjątki

Upłynął limit czasu.A time-out occurred. Aby uzyskać więcej informacji na temat limitów czasu Zobacz sekcję Uwagi.For more information about time-outs, see the Remarks section.

Przykłady

Poniższy przykład umożliwia znalezienie wzorzec wyrażenia regularnego pasuje do ciągu, a następnie wyświetla dopasowanej grupy przechwytywania i pozycji przechwytywania.The following example finds regular expression pattern matches in a string, then lists the matched groups, captures, and capture positions.

#using <System.dll>

using namespace System;
using namespace System::Text::RegularExpressions;
void main()
{
   
   String^ text = "One car red car blue car";
   String^ pat = "(\\w+)\\s+(car)";
   
   // Compile the regular expression.
   Regex^ r = gcnew Regex( pat,RegexOptions::IgnoreCase );
   
   // Match the regular expression pattern against a text string.
   Match^ m = r->Match(text);
   int matchCount = 0;
   while ( m->Success )
   {
      Console::WriteLine( "Match{0}", ++matchCount );
      for ( int i = 1; i <= 2; i++ )
      {
         Group^ g = m->Groups[ i ];
         Console::WriteLine( "Group{0}='{1}'", i, g );
         CaptureCollection^ cc = g->Captures;
         for ( int j = 0; j < cc->Count; j++ )
         {
            Capture^ c = cc[ j ];
            System::Console::WriteLine( "Capture{0}='{1}', Position={2}", j, c, c->Index );
         }
      }
      m = m->NextMatch();
   }
}  
// This example displays the following output:
//       Match1
//       Group1='One'
//       Capture0='One', Position=0
//       Group2='car'
//       Capture0='car', Position=4
//       Match2
//       Group1='red'
//       Capture0='red', Position=8
//       Group2='car'
//       Capture0='car', Position=12
//       Match3
//       Group1='blue'
//       Capture0='blue', Position=16
//       Group2='car'
//       Capture0='car', Position=21
using System;
using System.Text.RegularExpressions;

class Example 
{
   static void Main() 
   {
      string text = "One car red car blue car";
      string pat = @"(\w+)\s+(car)";

      // Instantiate the regular expression object.
      Regex r = new Regex(pat, RegexOptions.IgnoreCase);
      
      // Match the regular expression pattern against a text string.
      Match m = r.Match(text);
      int matchCount = 0;
      while (m.Success) 
      {
         Console.WriteLine("Match"+ (++matchCount));
         for (int i = 1; i <= 2; i++) 
         {
            Group g = m.Groups[i];
            Console.WriteLine("Group"+i+"='" + g + "'");
            CaptureCollection cc = g.Captures;
            for (int j = 0; j < cc.Count; j++) 
            {
               Capture c = cc[j];
               System.Console.WriteLine("Capture"+j+"='" + c + "', Position="+c.Index);
            }
         }
         m = m.NextMatch();
      }
   }
}
// This example displays the following output:
//       Match1
//       Group1='One'
//       Capture0='One', Position=0
//       Group2='car'
//       Capture0='car', Position=4
//       Match2
//       Group1='red'
//       Capture0='red', Position=8
//       Group2='car'
//       Capture0='car', Position=12
//       Match3
//       Group1='blue'
//       Capture0='blue', Position=16
//       Group2='car'
//       Capture0='car', Position=21
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim text As String = "One car red car blue car"
      Dim pattern As String = "(\w+)\s+(car)"

      ' Instantiate the regular expression object.
      Dim r As Regex = new Regex(pattern, RegexOptions.IgnoreCase)

      ' Match the regular expression pattern against a text string.
      Dim m As Match = r.Match(text)
      Dim matchcount as Integer = 0
      Do While m.Success
         matchCount += 1
         Console.WriteLine("Match" & (matchCount))
         Dim i As Integer
         For i = 1 to 2
            Dim g as Group = m.Groups(i)
            Console.WriteLine("Group" & i & "='" & g.ToString() & "'")
            Dim cc As CaptureCollection = g.Captures
            Dim j As Integer 
            For j = 0 to cc.Count - 1
      	      Dim c As Capture = cc(j)
               Console.WriteLine("Capture" & j & "='" & c.ToString() _
                  & "', Position=" & c.Index)
            Next 
         Next 
         m = m.NextMatch()
      Loop
   End Sub
End Module
' This example displays the following output:
'       Match1
'       Group1='One'
'       Capture0='One', Position=0
'       Group2='car'
'       Capture0='car', Position=4
'       Match2
'       Group1='red'
'       Capture0='red', Position=8
'       Group2='car'
'       Capture0='car', Position=12
'       Match3
'       Group1='blue'
'       Capture0='blue', Position=16
'       Group2='car'
'       Capture0='car', Position=21

Definicję wzorca wyrażenia regularnego (\w+)\s+(car) dopasowuje wystąpienia słowa "samochód" wraz z programu word, poprzedzającym go.The regular expression pattern (\w+)\s+(car) matches occurrences of the word "car" along with the word that precedes it. Jest interpretowane zgodnie z poniższą tabelą.It is interpreted as shown in the following table.

WzorzecPattern OpisDescription
(\w+) Dopasowuje co najmniej jeden znak słowa.Match one or more word characters. Jest to pierwsza grupa przechwytywania.This is the first capturing group.
\s+ Dopasowuje co najmniej jeden znak odstępu.Match one or more white-space characters.
(samochód)(car) Jest zgodny z ciągiem literału "samochód".Match the literal string "car". Jest to druga grupa przechwytywania.This is the second capturing group.

Uwagi

Match(String) Metoda zwraca wartość pierwszego podciągu, który jest zgodny ze wzorcem wyrażenia regularnego w ciągu wejściowym.The Match(String) method returns the first substring that matches a regular expression pattern in an input string. Aby uzyskać informacji na temat elementów języka, używany do tworzenia wzorca wyrażenia regularnego, zobacz język wyrażeń regularnych — podręczny wykaz.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Można określić, czy wykryto wzorzec wyrażenia regularnego do ciągu wejściowego, sprawdzając wartość zwracanej Match obiektu Success właściwości.You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. Jeśli zostanie znalezione dopasowanie, zwrócony Match obiektu Value właściwość zawiera podciąg z input który pasuje do wzorca wyrażenia regularnego.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Jeśli nie zostanie znalezione dopasowanie, jego wartość jest String.Empty.If no match is found, its value is String.Empty.

Ta metoda zwraca wartość pierwszego podciągu w input który pasuje do wzorca wyrażenia regularnego.This method returns the first substring in input that matches the regular expression pattern. Możesz pobrać kolejnych dopasowań, wywołując wielokrotnie zwracanego Match obiektu Match.NextMatch metody.You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. Możesz również pobrać wszystkich dopasowań w pojedynczym wywołaniu metody, wywołując Regex.Matches(String) metody.You can also retrieve all matches in a single method call by calling the Regex.Matches(String) method.

RegexMatchTimeoutException Wyjątek jest generowany, jeśli czas wykonywania operacji dopasowywania przekroczy limit czasu określony przez Regex.Regex(String, RegexOptions, TimeSpan) konstruktora.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. Jeśli nie ustawisz interwał limitu czasu podczas wywoływania konstruktora, wyjątek jest zgłaszany, jeśli operacja przekroczy dowolną wartość limitu czasu ustanowione dla domeny aplikacji, w którym Regex obiekt zostanie utworzony.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. Jeśli limit czasu nie jest zdefiniowany w Regex wywołania konstruktora lub we właściwościach domeny aplikacji, czy wartość limitu czasu jest Regex.InfiniteMatchTimeout, jest zgłaszany żaden wyjątek.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.

Zobacz też

Match(String, String) Match(String, String) Match(String, String) Match(String, String)

Wyszukuje określony ciągu wejściowym, aby pierwsze wystąpienie określonego wyrażenia regularnego.Searches the specified input string for the first occurrence of the specified regular expression.

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

Parametry

input
String String String String

Ciąg do wyszukania pod kątem dopasowania.The string to search for a match.

pattern
String String String String

Wzorzec wyrażenia regularnego do dopasowania.The regular expression pattern to match.

Zwraca

Obiekt, który zawiera informacje o zgodności.An object that contains information about the match.

Wyjątki

Wystąpił błąd analizowania wyrażenia regularnego.A regular expression parsing error occurred.

input lub pattern jest null.input or pattern is null.

Upłynął limit czasu.A time-out occurred. Aby uzyskać więcej informacji na temat limitów czasu Zobacz sekcję Uwagi.For more information about time-outs, see the Remarks section.

Przykłady

Poniższy przykład wywołuje Match(String, String) metody do znalezienia pierwszy wyraz, który zawiera co najmniej jeden z znaku, a następnie wywołania Match.NextMatch metody do znalezienia dopasowań dodatkowe.The following example calls the Match(String, String) method to find the first word that contains at least one z character, and then calls the Match.NextMatch method to find any additional matches.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string input = "ablaze beagle choral dozen elementary fanatic " +
                     "glaze hunger inept jazz kitchen lemon minus " +
                     "night optical pizza quiz restoration stamina " +
                     "train unrest vertical whiz xray yellow zealous";
      string pattern = @"\b\w*z+\w*\b";
      Match m = Regex.Match(input, pattern);
      while (m.Success) {
         Console.WriteLine("'{0}' found at position {1}", m.Value, m.Index);
         m = m.NextMatch();
      }   
   }
}
// The example displays the following output:
//    'ablaze' found at position 0
//    'dozen' found at position 21
//    'glaze' found at position 46
//    'jazz' found at position 65
//    'pizza' found at position 104
//    'quiz' found at position 110
//    'whiz' found at position 157
//    'zealous' found at position 174
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim input As String = "ablaze beagle choral dozen elementary fanatic " +
                            "glaze hunger inept jazz kitchen lemon minus " +
                            "night optical pizza quiz restoration stamina " +
                            "train unrest vertical whiz xray yellow zealous"
      Dim pattern As String = "\b\w*z+\w*\b"
      Dim m As Match = Regex.Match(input, pattern)
      Do While m.Success 
         Console.WriteLine("'{0}' found at position {1}", m.Value, m.Index)
         m = m.NextMatch()
      Loop                      
   End Sub
End Module
' The example displays the following output:
    'ablaze' found at position 0
    'dozen' found at position 21
    'glaze' found at position 46
    'jazz' found at position 65
    'pizza' found at position 104
    'quiz' found at position 110
    'whiz' found at position 157
    'zealous' found at position 174

Definicję wzorca wyrażenia regularnego \b\w*z+\w*\b jest interpretowane tak jak pokazano w poniższej tabeli.The regular expression pattern \b\w*z+\w*\b is interpreted as shown in the following table.

WzorzecPattern OpisDescription
\b Rozpoczyna dopasowanie na granicy wyrazu.Begin the match at a word boundary.
\w* Dopasowuje zero, jeden lub więcej znaków słowa.Match zero, one, or more word characters.
z+ Dopasowuje jeden lub więcej wystąpień z znaków.Match one or more occurrences of the z character.
\w* Dopasowuje zero, jeden lub więcej znaków słowa.Match zero, one, or more word characters.
\b Kończy dopasowanie na granicy wyrazu.End the match at a word boundary.

Uwagi

Match(String, String) Metoda zwraca wartość pierwszego podciągu, który jest zgodny ze wzorcem wyrażenia regularnego w ciągu wejściowym.The Match(String, String) method returns the first substring that matches a regular expression pattern in an input string. Aby uzyskać informacji na temat elementów języka, używany do tworzenia wzorca wyrażenia regularnego, zobacz język wyrażeń regularnych — podręczny wykaz.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Statyczne Match(String, String) metoda jest równoważna konstruowanie Regex obiektu za pomocą wzorca określonego wyrażenia regularnego i wywoływać metodę wystąpienia Match(String) metody.The static Match(String, String) method is equivalent to constructing a Regex object with the specified regular expression pattern and calling the instance Match(String) method. W tym przypadku aparat wyrażeń regularnych zapisuje w pamięci podręcznej do wzorca wyrażenia regularnego.In this case, the regular expression engine caches the regular expression pattern.

pattern Parametr składa się z elementy języka wyrażeń regularnych, które opisują symbolicznie ciąg do dopasowania.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Aby uzyskać więcej informacji na temat wyrażeń regularnych, zobacz wyrażeń regularnych programu .NET Framework i język wyrażeń regularnych — podręczny wykaz.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

Można określić, czy wykryto wzorzec wyrażenia regularnego do ciągu wejściowego, sprawdzając wartość zwracanej Match obiektu Success właściwości.You can determine whether the regular expression pattern has been found in the input string by checking the value of the returned Match object's Success property. Jeśli zostanie znalezione dopasowanie, zwrócony Match obiektu Value właściwość zawiera podciąg z input który pasuje do wzorca wyrażenia regularnego.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Jeśli nie zostanie znalezione dopasowanie, jego wartość jest String.Empty.If no match is found, its value is String.Empty.

Ta metoda zwraca wartość pierwszego podciągu w input który pasuje do wzorca wyrażenia regularnego.This method returns the first substring in input that matches the regular expression pattern. Możesz pobrać kolejnych dopasowań, wywołując wielokrotnie zwracanego Match obiektu Match.NextMatch metody.You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. Możesz również pobrać wszystkich dopasowań w pojedynczym wywołaniu metody, wywołując Regex.Matches(String, String) metody.You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String) method.

RegexMatchTimeoutException Wyjątek jest generowany, jeśli czas wykonywania operacji dopasowywania przekroczy limit czasu określony dla domeny aplikacji, w którym metoda jest wywoływana.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. Jeśli limit czasu nie jest zdefiniowany we właściwościach domeny aplikacji, czy wartość limitu czasu jest Regex.InfiniteMatchTimeout, jest zgłaszany żaden wyjątek.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.

Uwagi dotyczące wywoływania

Ta metoda upłynie limit czasu po upływie interwału, który jest równa wartości limitu czasu domyślnej domeny aplikacji, w którym jest wywoływana.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. Jeśli nie określono wartość limitu czasu dla domeny aplikacji, a wartość InfiniteMatchTimeout, co uniemożliwia z przekroczeniem limitu czasu, metoda jest używana.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. Zalecana metoda statyczna pobierania dopasowania do wzorca Match(String, String), która pozwala ustawić interwał limitu czasu.The recommended static method for retrieving a pattern match is Match(String, String), which lets you set the time-out interval.

Zobacz też

Dotyczy