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

Определение

Находит во входной строке подстроку, совпадающую с шаблоном регулярного выражения и возвращает первое вхождение в качестве единого Match объекта.Searches an input string for a substring that matches a regular expression pattern and returns the first occurrence as a single Match object.

Перегрузки

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

Ищет во входной строке первое вхождение заданного регулярного выражения, используя указанные параметры сопоставления и интервал времени ожидания.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)

Ищет во входной строке первое вхождение регулярного выражения, начиная с указанной начальной позиции и выполняя поиск только по указанному количеству символов.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)

Ищет во входной строке первое вхождение заданного регулярного выражения, используя указанные параметры сопоставления.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)

Ищет во входной строке первое вхождение регулярного выражения, начиная с указанной начальной позиции.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)

Ищет в указанной входной строке первое вхождение регулярного выражения, указанного в Regex конструктор.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)

Ищет в указанной входной строке первое вхождение заданного регулярного выражения.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)

Ищет во входной строке первое вхождение заданного регулярного выражения, используя указанные параметры сопоставления и интервал времени ожидания.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

Параметры

input
String String String String

Строка для поиска соответствия.The string to search for a match.

pattern
String String String String

Шаблон регулярного выражения для сопоставления.The regular expression pattern to match.

options
RegexOptions RegexOptions RegexOptions RegexOptions

Побитовая комбинация значений перечисления, предоставляющая параметры для сопоставления.A bitwise combination of the enumeration values that provide options for matching.

matchTimeout
TimeSpan TimeSpan TimeSpan TimeSpan

Интервал времени ожидания или InfiniteMatchTimeout, чтобы указать, что метод не должен превышать время ожидания.A time-out interval, or InfiniteMatchTimeout to indicate that the method should not time out.

Возвраты

Объект, содержащий сведения о совпадении.An object that contains information about the match.

Исключения

Произошла ошибка анализа регулярного выражения.A regular expression parsing error occurred.

Параметр input или pattern имеет значение null.input or pattern is null.

Параметр options не является допустимой битовой комбинацией значений RegexOptions.options is not a valid bitwise combination of RegexOptions values.

-или--or- Значение параметра matchTimeout отрицательное, равно нулю или больше, чем приблизительно 24 дня.matchTimeout is negative, zero, or greater than approximately 24 days.

Время ожидания истекло.A time-out occurred. Дополнительные сведения о времени ожидания см. в разделе "Примечания".For more information about time-outs, see the Remarks section.

Комментарии

Match(String, String, RegexOptions, TimeSpan) Метод возвращает первую подстроку, соответствующую шаблону регулярного выражения во входной строке.The Match(String, String, RegexOptions, TimeSpan) method returns the first substring that matches a regular expression pattern in an input string. Сведения об элементах языка, используемый для построения шаблон регулярного выражения, см. в разделе языка регулярных выражений — краткий справочник.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Статический Match(String, String, RegexOptions, TimeSpan) метода эквивалентно созданию Regex со Regex(String, RegexOptions, TimeSpan) конструктор и вызова экземпляр Match(String) метод.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 Параметр состоит из элементов языка регулярных выражений, с помощью описывающих сопоставляемой строки.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Дополнительные сведения о регулярных выражениях см. в разделе регулярные выражения .NET Framework и языка регулярных выражений — краткий справочник.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

Можно определить, было ли найдено шаблон регулярного выражения во входной строке, проверив значение возвращенного Match объекта Success свойство.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. Если соответствие найдено, возвращенный Match объекта Value свойство содержит подстроку из input , соответствующий шаблону регулярного выражения.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Если совпадений не найдено, его значение равно String.Empty.If no match is found, its value is String.Empty.

Этот метод возвращает первую подстроку, найденную в input , соответствующий шаблону регулярного выражения.This method returns the first substring found in input that matches the regular expression pattern. Можно получить последующие соответствия, повторно вызывая возвращенного Match объекта NextMatch метод.You can retrieve subsequent matches by repeatedly calling the returned Match object's NextMatch method. Все совпадения в одном вызове метода также можно получить, вызвав Regex.Matches(String, String, RegexOptions) метод.You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String, RegexOptions) method.

matchTimeout Параметр указывает о том, как долго шаблон соответствующий метод следует пытаться найти совпадение, до истечения времени ожидания. Установка интервала времени ожидания предотвращает регулярных выражений, которые зависят от того, избыточный поиск с возвратом скрывается перестает отвечать на запросы при обработке входных данных, содержащий ближайшие совпадения.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. Дополнительные сведения см. в разделе рекомендации по использованию регулярных выражений и возвратом в регулярных выражениях.For more information, see Best Practices for Regular Expressions and Backtracking. Если совпадений не найдено в течение этого интервала времени, метод вызывает RegexMatchTimeoutException исключение.If no match is found in that time interval, the method throws a RegexMatchTimeoutException exception. matchTimeout переопределяет любое значение времени ожидания по умолчанию, определенные для домена приложения, в которой выполняется метод.matchTimeout overrides any default time-out value defined for the application domain in which the method executes.

Примечания для тех, кто вызывает этот метод

Мы рекомендуем установить matchTimeout параметр соответствующее значение, например две секунды.We recommend that you set the matchTimeout parameter to an appropriate value, such as two seconds. Если отключить время ожидания, указав InfiniteMatchTimeout, обработчик регулярных выражений обеспечивает немного лучшую производительность.If you disable time-outs by specifying InfiniteMatchTimeout, the regular expression engine offers slightly better performance. Тем не менее следует отключить время ожидания только при следующих условиях:However, you should disable time-outs only under the following conditions: — Если входные данные, обрабатываемые регулярное выражение является производным от известного и надежного источника или состоит из статического текста.- When the input processed by a regular expression is derived from a known and trusted source or consists of static text. Это исключает текст, который был динамически входные данные пользователей.This excludes text that has been dynamically input by users.

— Если шаблон регулярного выражения был всесторонне протестирован для обеспечения эффективной обработки соответствует, несовпадающие, а ближайшем.- When the regular expression pattern has been thoroughly tested to ensure that it efficiently handles matches, non-matches, and near matches.

— Если шаблон регулярного выражения содержит не элементов языка, причиной которых могут стать избыточный поиск с возвратом при обработке почти соответствия.- When the regular expression pattern contains no language elements that are known to cause excessive backtracking when processing a near match.

Дополнительно

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

Ищет во входной строке первое вхождение регулярного выражения, начиная с указанной начальной позиции и выполняя поиск только по указанному количеству символов.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

Параметры

input
String String String String

Строка для поиска соответствия.The string to search for a match.

beginning
Int32 Int32 Int32 Int32

Отсчитываемая от нуля позиция символа во входной строке, определяющая самую левую позицию диапазона поиска.The zero-based character position in the input string that defines the leftmost position to be searched.

length
Int32 Int32 Int32 Int32

Количество символов в подстроке для включения в поиск.The number of characters in the substring to include in the search.

Возвраты

Объект, содержащий сведения о совпадении.An object that contains information about the match.

Исключения

Свойство input имеет значение null.input is null.

Параметр beginning имеет значение меньше нуля или больше длины input.beginning is less than zero or greater than the length of input.

-или--or- Параметр length имеет значение меньше нуля или больше длины input.length is less than zero or greater than the length of input.

-или--or- beginning+length-1 определяет позицию, которая находится вне диапазона input.beginning+length-1 identifies a position that is outside the range of input.

Время ожидания истекло.A time-out occurred. Дополнительные сведения о времени ожидания см. в разделе "Примечания".For more information about time-outs, see the Remarks section.

Комментарии

Match(String, Int32, Int32) Метод возвращает первую подстроку, соответствующую шаблону регулярного выражения в части во входной строке.The Match(String, Int32, Int32) method returns the first substring that matches a regular expression pattern in a portion of an input string. Сведения об элементах языка, используемый для построения шаблон регулярного выражения, см. в разделе языка регулярных выражений — краткий справочник.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Шаблон регулярного выражения, для которого Match(String, Int32, Int32) поиска методов определяется путем вызова одного из Regex конструкторов класса.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. Дополнительные сведения об элементах, образующих шаблон регулярного выражения, см. в разделе языка регулярных выражений — краткий справочник.For more information about the elements that can form a regular expression pattern, see Regular Expression Language - Quick Reference.

Match(String, Int32, Int32) Метод выполняет поиск часть input определяется beginning и length параметры для шаблона регулярного выражения.The Match(String, Int32, Int32) method searches the portion of input defined by the beginning and length parameters for the regular expression pattern. beginning всегда определяет индекс первого символа для включения в поиск, и length определяет максимальное количество символов для поиска.beginning always defines the index of the leftmost character to include in the search, and length defines the maximum number of characters to search. Вместе они определяют диапазон поиска.Together, they define the range of the search. Если поиск выполняется слева направо (по умолчанию), обработчик регулярных выражений выполняет поиск от знак с индексом beginning для знак с индексом 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. Если обработчик регулярных выражений был создан с помощью RegexOptions.RightToLeft так, что поиск выполняется справа, слева, поиск обработчика регулярных выражений из знак с индексом beginning + length - 1 для знак с индексом 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. Этот метод возвращает первое совпадение найденном в течение этого периода.This method returns the first match that it finds within this range. Можно получить последующие соответствия, повторно вызывая возвращенного Match объекта Match.NextMatch метод.You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method.

Можно определить, было ли найдено шаблон регулярного выражения во входной строке, проверив значение возвращенного Match объекта Success свойство.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. Если соответствие найдено, возвращенный Match объекта Value свойство содержит подстроку из input , соответствующий шаблону регулярного выражения.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Если совпадений не найдено, его значение равно String.Empty.If no match is found, its value is String.Empty.

RegexMatchTimeoutException Исключение вызывается в том случае, если время выполнения операции поиска совпадения превышает интервал времени ожидания, который задается параметром Regex.Regex(String, RegexOptions, TimeSpan) конструктор.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. Если вы не устанавливайте значение времени ожидания при вызове конструктора, исключение, если операция длится любое значение времени ожидания, установленным для домена приложения, в котором Regex создается объект.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. Если время ожидания не определен в Regex вызов конструктора или в свойствах домена приложения, или если значение интервала Regex.InfiniteMatchTimeout, исключение не создается.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.

Дополнительно

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

Ищет во входной строке первое вхождение заданного регулярного выражения, используя указанные параметры сопоставления.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

Параметры

input
String String String String

Строка для поиска соответствия.The string to search for a match.

pattern
String String String String

Шаблон регулярного выражения для сопоставления.The regular expression pattern to match.

options
RegexOptions RegexOptions RegexOptions RegexOptions

Побитовая комбинация значений перечисления, предоставляющая параметры для сопоставления.A bitwise combination of the enumeration values that provide options for matching.

Возвраты

Объект, содержащий сведения о совпадении.An object that contains information about the match.

Исключения

Произошла ошибка анализа регулярного выражения.A regular expression parsing error occurred.

Параметр input или pattern имеет значение null.input or pattern is null.

Параметр options не является допустимой битовой комбинацией значений RegexOptions.options is not a valid bitwise combination of RegexOptions values.

Время ожидания истекло.A time-out occurred. Дополнительные сведения о времени ожидания см. в разделе "Примечания".For more information about time-outs, see the Remarks section.

Примеры

В следующем примере определяется регулярное выражение, которое совпадает со словами, начинающиеся с буквы «».The following example defines a regular expression that matches words beginning with the letter "a". Она использует RegexOptions.IgnoreCase параметр, чтобы убедиться, что регулярное выражение находит слова, начинающиеся на обоих заглавных букв нижнего регистра «» и «».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.

Возможные интерпретации шаблона регулярного выражения \ba\w*\b показаны в следующей таблице.The regular expression pattern \ba\w*\b is interpreted as shown in the following table.

ШаблонPattern ОписаниеDescription
\b Совпадение должно начинаться на границе слова.Begin the match at a word boundary.
a Совпадение с символом «».Match the character "a".
\w* Соответствует ноль, один или несколько словообразующих символов.Match zero, one, or more word characters.
\b Совпадение должно заканчиваться на границе слова.End the match at a word boundary.

Комментарии

Match(String, String, RegexOptions) Метод возвращает первую подстроку, соответствующую шаблону регулярного выражения во входной строке.The Match(String, String, RegexOptions) method returns the first substring that matches a regular expression pattern in an input string. Сведения об элементах языка, используемый для построения шаблон регулярного выражения, см. в разделе языка регулярных выражений — краткий справочник.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Статический Match(String, String, RegexOptions) метода эквивалентно созданию Regex со Regex(String, RegexOptions) конструктор и вызова экземпляр Match(String) метод.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 Параметр состоит из элементов языка регулярных выражений, с помощью описывающих сопоставляемой строки.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Дополнительные сведения о регулярных выражениях см. в разделе регулярные выражения .NET Framework и языка регулярных выражений — краткий справочник.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

Можно определить, было ли найдено шаблон регулярного выражения во входной строке, проверив значение возвращенного Match объекта Success свойство.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. Если соответствие найдено, возвращенный Match объекта Value свойство содержит подстроку из input , соответствующий шаблону регулярного выражения.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Если совпадений не найдено, его значение равно String.Empty.If no match is found, its value is String.Empty.

Этот метод возвращает первую подстроку, найденную в input , соответствующий шаблону регулярного выражения.This method returns the first substring found in input that matches the regular expression pattern. Можно получить последующие соответствия, повторно вызывая возвращенного Match объекта NextMatch метод.You can retrieve subsequent matches by repeatedly calling the returned Match object's NextMatch method. Все совпадения в одном вызове метода также можно получить, вызвав Regex.Matches(String, String, RegexOptions) метод.You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String, RegexOptions) method.

RegexMatchTimeoutException Исключение вызывается в том случае, если время выполнения операции поиска совпадения превышает ожидания, указанное для домена приложения, в котором вызывается метод.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. Если время ожидания не определен в свойствах домена приложения, или в том случае, если значение времени ожидания Regex.InfiniteMatchTimeout, исключение не создается.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.

Примечания для тех, кто вызывает этот метод

Этот метод время истекает через интервал, равный значение времени ожидания по умолчанию домена приложения, в котором он вызывается.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. Если значение времени ожидания не был определен для домена приложения, значение InfiniteMatchTimeout, что предотвращает истечения времени ожидания, метод используется.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. Статические рекомендуется для получения соответствия шаблону Match(String, String), который позволяет установить интервал времени ожидания.The recommended static method for retrieving a pattern match is Match(String, String), which lets you set the time-out interval.

Дополнительно

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

Ищет во входной строке первое вхождение регулярного выражения, начиная с указанной начальной позиции.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

Параметры

input
String String String String

Строка для поиска соответствия.The string to search for a match.

startat
Int32 Int32 Int32 Int32

Отсчитываемый от нуля позиция, с которого начинается поиск.The zero-based character position at which to start the search.

Возвраты

Объект, содержащий сведения о совпадении.An object that contains information about the match.

Исключения

Свойство input имеет значение null.input is null.

Параметр startat имеет значение меньше нуля или больше длины input.startat is less than zero or greater than the length of input.

Время ожидания истекло.A time-out occurred. Дополнительные сведения о времени ожидания см. в разделе "Примечания".For more information about time-outs, see the Remarks section.

Комментарии

Match(String, Int32) Метод возвращает первую подстроку, соответствующую шаблону регулярного выражения, начиная с или после startat позиции во входной строке знака.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. Сведения об элементах языка, используемый для построения шаблон регулярного выражения, см. в разделе языка регулярных выражений — краткий справочник.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Шаблон регулярного выражения, для которого Match(String, Int32) поиска методов определяется путем вызова одного из Regex конструкторов класса.The regular expression pattern for which the Match(String, Int32) method searches is defined by the call to one of the Regex class constructors. Дополнительные сведения об элементах, образующих шаблон регулярного выражения, см. в разделе языка регулярных выражений — краткий справочник.For more information about the elements that can form a regular expression pattern, see Regular Expression Language - Quick Reference.

При необходимости можно указать начальную позицию в строке с помощью startat параметра.You can optionally specify a starting position in the string by using the startat parameter. Когда обработчик регулярных выражений выполняет синтаксический анализ слева направо (по умолчанию), сопоставление и сканирование перемещать правом направлении, начиная с символа, указанного в 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. Когда обработчик регулярных выражений выполняет синтаксический анализ справа налево (если создается шаблон регулярного выражения с RegexOptions.RightToLeft параметр), сопоставление и просмотр перемещения в обратном направлении и начинаются с символа в 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. Если вы не укажете начальной позицией, поиск начинается в режиме по умолчанию startat позиции.If you do not specify a starting position, the search begins at the default startat position. Если регулярное выражение выполняет поиск в направлении слева направо, по умолчанию startat расположено в левый конец input; если он выполняет поиск справа слева, по умолчанию startat расположено в правом конце 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.

Если вы хотите ограничить соответствие, таким образом, чтобы он начинается с позиции конкретного символа в строке, и обработчик регулярных выражений не проверяет оставшейся части строки для сопоставления, закрепите регулярное выражение с \G (слева для слева направо шаблон, или справа для шаблона справа налево).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). Это ограничит сопоставление, поэтому оно должно начинаться точно в startat.This restricts the match so it must start exactly at startat.

Можно определить, было ли найдено шаблон регулярного выражения во входной строке, проверив значение возвращенного Match объекта Success свойство.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. Если соответствие найдено, возвращенный Match объекта Value свойство содержит подстроку из input , соответствующий шаблону регулярного выражения.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Если совпадений не найдено, его значение равно String.Empty.If no match is found, its value is String.Empty.

Этот метод возвращает первую подстроку, найденную в или после startat позиция знака в input , соответствующий шаблону регулярного выражения.This method returns the first substring found at or after the startat character position in input that matches the regular expression pattern. Можно получить последующие соответствия, повторно вызывая возвращенного Match объекта Match.NextMatch метод.You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. Все совпадения в одном вызове метода также можно получить, вызвав Regex.Matches(String, Int32) метод.You can also retrieve all matches in a single method call by calling the Regex.Matches(String, Int32) method.

RegexMatchTimeoutException Исключение вызывается в том случае, если время выполнения операции поиска совпадения превышает интервал времени ожидания, который задается параметром Regex.Regex(String, RegexOptions, TimeSpan) конструктор.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. Если вы не установите интервал времени ожидания при вызове конструктора, исключение, если операция длится любое значение времени ожидания, установленным для домена приложения, в котором Regex создается объект.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. Если время ожидания не определен в Regex вызов конструктора или в свойствах домена приложения, или если значение интервала Regex.InfiniteMatchTimeout, исключение не создается.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.

Дополнительно

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

Ищет в указанной входной строке первое вхождение регулярного выражения, указанного в Regex конструктор.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

Параметры

input
String String String String

Строка для поиска соответствия.The string to search for a match.

Возвраты

Объект, содержащий сведения о совпадении.An object that contains information about the match.

Исключения

Свойство input имеет значение null.input is null.

Время ожидания истекло.A time-out occurred. Дополнительные сведения о времени ожидания см. в разделе "Примечания".For more information about time-outs, see the Remarks section.

Примеры

В следующем примере вычисляется шаблон регулярного выражения сопоставляет строки, а затем список соответствующих групп, записей и позиций записи.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

Шаблон регулярного выражения (\w+)\s+(car) совпадает с числом вхождений слова «автомобиль», вместе с word, после нее.The regular expression pattern (\w+)\s+(car) matches occurrences of the word "car" along with the word that precedes it. Он интерпретируется, как показано в следующей таблице.It is interpreted as shown in the following table.

ШаблонPattern ОписаниеDescription
(\w+) Совпадение с одним или несколькими символами слова.Match one or more word characters. Это первая группа записи.This is the first capturing group.
\s+ Совпадение один или несколько символов пробела.Match one or more white-space characters.
(car)(car) Совпадение с литеральной строкой «автомобиль».Match the literal string "car". Это вторая группа записи.This is the second capturing group.

Комментарии

Match(String) Метод возвращает первую подстроку, соответствующую шаблону регулярного выражения во входной строке.The Match(String) method returns the first substring that matches a regular expression pattern in an input string. Сведения об элементах языка, используемый для построения шаблон регулярного выражения, см. в разделе языка регулярных выражений — краткий справочник.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Можно определить, было ли найдено шаблон регулярного выражения во входной строке, проверив значение возвращенного Match объекта Success свойство.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. Если соответствие найдено, возвращенный Match объекта Value свойство содержит подстроку из input , соответствующий шаблону регулярного выражения.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Если совпадений не найдено, его значение равно String.Empty.If no match is found, its value is String.Empty.

Этот метод возвращает первую подстроку в input , соответствующий шаблону регулярного выражения.This method returns the first substring in input that matches the regular expression pattern. Можно получить последующие соответствия, повторно вызывая возвращенного Match объекта Match.NextMatch метод.You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. Все совпадения в одном вызове метода также можно получить, вызвав Regex.Matches(String) метод.You can also retrieve all matches in a single method call by calling the Regex.Matches(String) method.

RegexMatchTimeoutException Исключение вызывается в том случае, если время выполнения операции поиска совпадения превышает интервал времени ожидания, который задается параметром Regex.Regex(String, RegexOptions, TimeSpan) конструктор.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. Если вы не установите интервал времени ожидания при вызове конструктора, исключение, если операция длится любое значение времени ожидания, установленным для домена приложения, в котором Regex создается объект.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. Если время ожидания не определен в Regex вызов конструктора или в свойствах домена приложения, или если значение интервала Regex.InfiniteMatchTimeout, исключение не создается.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.

Дополнительно

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

Ищет в указанной входной строке первое вхождение заданного регулярного выражения.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

Параметры

input
String String String String

Строка для поиска соответствия.The string to search for a match.

pattern
String String String String

Шаблон регулярного выражения для сопоставления.The regular expression pattern to match.

Возвраты

Объект, содержащий сведения о совпадении.An object that contains information about the match.

Исключения

Произошла ошибка анализа регулярного выражения.A regular expression parsing error occurred.

Параметр input или pattern имеет значение null.input or pattern is null.

Время ожидания истекло.A time-out occurred. Дополнительные сведения о времени ожидания см. в разделе "Примечания".For more information about time-outs, see the Remarks section.

Примеры

В следующем примере вызывается Match(String, String) метод, чтобы найти первое слово, содержащее хотя бы один z символ, а затем вызывает Match.NextMatch способ поиска дополнительных совпадений.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

Возможные интерпретации шаблона регулярного выражения \b\w*z+\w*\b показаны в следующей таблице.The regular expression pattern \b\w*z+\w*\b is interpreted as shown in the following table.

ШаблонPattern ОписаниеDescription
\b Совпадение должно начинаться на границе слова.Begin the match at a word boundary.
\w* Соответствует ноль, один или несколько словообразующих символов.Match zero, one, or more word characters.
z+ Сопоставление одного или нескольких вхождений z символ.Match one or more occurrences of the z character.
\w* Соответствует ноль, один или несколько словообразующих символов.Match zero, one, or more word characters.
\b Совпадение должно заканчиваться на границе слова.End the match at a word boundary.

Комментарии

Match(String, String) Метод возвращает первую подстроку, соответствующую шаблону регулярного выражения во входной строке.The Match(String, String) method returns the first substring that matches a regular expression pattern in an input string. Сведения об элементах языка, используемый для построения шаблон регулярного выражения, см. в разделе языка регулярных выражений — краткий справочник.For information about the language elements used to build a regular expression pattern, see Regular Expression Language - Quick Reference.

Статический Match(String, String) метода эквивалентно созданию Regex объекта с помощью заданного шаблона регулярного выражения и вызов экземпляра Match(String) метод.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. В этом случае обработчик регулярных выражений кэширует шаблон регулярного выражения.In this case, the regular expression engine caches the regular expression pattern.

pattern Параметр состоит из элементов языка регулярных выражений, с помощью описывающих сопоставляемой строки.The pattern parameter consists of regular expression language elements that symbolically describe the string to match. Дополнительные сведения о регулярных выражениях см. в разделе регулярные выражения .NET Framework и языка регулярных выражений — краткий справочник.For more information about regular expressions, see .NET Framework Regular Expressions and Regular Expression Language - Quick Reference.

Можно определить, было ли найдено шаблон регулярного выражения во входной строке, проверив значение возвращенного Match объекта Success свойство.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. Если соответствие найдено, возвращенный Match объекта Value свойство содержит подстроку из input , соответствующий шаблону регулярного выражения.If a match is found, the returned Match object's Value property contains the substring from input that matches the regular expression pattern. Если совпадений не найдено, его значение равно String.Empty.If no match is found, its value is String.Empty.

Этот метод возвращает первую подстроку в input , соответствующий шаблону регулярного выражения.This method returns the first substring in input that matches the regular expression pattern. Можно получить последующие соответствия, повторно вызывая возвращенного Match объекта Match.NextMatch метод.You can retrieve subsequent matches by repeatedly calling the returned Match object's Match.NextMatch method. Все совпадения в одном вызове метода также можно получить, вызвав Regex.Matches(String, String) метод.You can also retrieve all matches in a single method call by calling the Regex.Matches(String, String) method.

RegexMatchTimeoutException Исключение вызывается в том случае, если время выполнения операции поиска совпадения превышает ожидания, указанное для домена приложения, в котором вызывается метод.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. Если время ожидания не определен в свойствах домена приложения, или в том случае, если значение времени ожидания Regex.InfiniteMatchTimeout, исключение не создается.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.

Примечания для тех, кто вызывает этот метод

Этот метод время истекает через интервал, равный значение времени ожидания по умолчанию домена приложения, в котором он вызывается.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. Если значение времени ожидания не был определен для домена приложения, значение InfiniteMatchTimeout, что предотвращает истечения времени ожидания, метод используется.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. Статические рекомендуется для получения соответствия шаблону Match(String, String), который позволяет установить интервал времени ожидания.The recommended static method for retrieving a pattern match is Match(String, String), which lets you set the time-out interval.

Дополнительно

Применяется к