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(constauto&fname : fnames){std::cout<< fname <<": "<< std::regex_match(fname, txt_regex)<<'\n';}}
Вывод:
foo.txt: 1 bar.txt: 1 zoidberg: 0
[править]См. также
(C++11) | объект регулярного выражения (шаблон класса) |
(C++11) | идентифицирует одно совпадение регулярного выражения, включая все совпадения подвыражений (шаблон класса) |