std::regex_match
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
Определено в заголовочном файле <regex>
|
||
template< class BidirIt, class Alloc, class CharT, class Traits > |
(1) | (начиная с C++11) |
template< class BidirIt, class CharT, class Traits > |
(2) | (начиная с C++11) |
template< class CharT, class Alloc, class Traits > bool regex_match( const CharT* str, |
(3) | (начиная с C++11) |
template< class STraits, class SAlloc, class Alloc, class CharT, class Traits > |
(4) | (начиная с C++11) |
template< class CharT, class Traits > bool regex_match( const CharT* str, |
(5) | (начиная с C++11) |
template< class STraits, class SAlloc, class CharT, class Traits > |
(6) | (начиная с C++11) |
e
и вся последовательность символов целевой [first,last)
, принимая во внимание эффект flags
. Результаты матча будут возвращены в m
.e
and the entire target character sequence [first,last)
, taking into account the effect of flags
. Match results are returned in m
.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править] Параметры
first, last | — | Диапазон целевой характер, чтобы применить регулярное выражение, чтобы, учитывая, что и итераторы
Оригинал: the target character range to apply the regex to, given as iterators Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
m | — | результаты матчей
Оригинал: the match results Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
str | — | целевой строки, приведенные в качестве нулем C-стиля строки
Оригинал: the target string, given as a null-terminated C-style string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
s | — | целевой строки, приведенные в качестве std::basic_string
Оригинал: the target string, given as a std::basic_string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
e | — | регулярное выражение
Оригинал: the regular expression Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
flags | — | Флаги используются для определения того, как матч будет выполнена
Оригинал: flags used to determine how the match will be performed Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Требования к типам | ||
-BidirIt должен соответствовать требованиям BidirectionalIterator .
|
[править] Возвращаемое значение
m
обновляется, а именно:m
is updated, as follows:Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
m.ready() == true | |
m.empty() == true | |
m.size() == 0 |
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
m.ready() | true |
m.empty() | false |
m.size() | число подвыражений плюс 1, то есть 1+e.mark_count()
Оригинал: number of subexpressions plus 1, that is, 1+e.mark_count() Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
m.prefix().first | first
|
m.prefix().second | first
|
m.prefix().matched | false (матч префикс пуст)
Оригинал: false (the match prefix is empty) Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
m.suffix().first | last
|
m.suffix().second | last
|
m.suffix().matched | false (матч суффикс пустой)
Оригинал: false (the match suffix is empty) Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
m[0].first | first
|
m[0].second | last
|
m[0].matched | true (вся последовательность соответствует)
Оригинал: true (the entire sequence is matched) Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
m[n].first | начало последовательности, которая соответствует части выражения п, или
last если подвыражение не принимал участия в матчеОригинал: the start of the sequence that matched sub-expression n, or last if the subexpression did not participate in the matchТекст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
m[n].second | К концу последовательности, которая соответствует части выражения п, или
last если подвыражение не принимал участия в матчеОригинал: the end of the sequence that matched sub-expression n, or last if the subexpression did not participate in the matchТекст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
m[n].matched | true если подвыражение п участие в матче, false иначе
Оригинал: true if sub-expression n participated in the match, false otherwise Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[править] Пример
#include <iostream> #include <string> #include <regex> int main() { std::string fnames[] = {"foo.txt", "bar.txt", "zoidberg"}; std::regex txt_regex("[a-z]+\\.txt"); for (const auto &fname : fnames) { std::cout << fname << ": " << std::regex_match(fname, txt_regex) << '\n'; } }
Вывод:
foo.txt: 1 bar.txt: 1 zoidberg: 0
[править] См. также
(C++11) |
объект регулярного выражения (шаблон класса) |
(C++11) |
идентифицирует одно совпадение регулярного выражения, включая все совпадения подвыражений (шаблон класса) |