std::regex_match
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <regex>
|
||
template< class BidirIt, class Alloc, class CharT, class Traits > bool regex_match( BidirIt first, BidirIt last, std::match_results<BidirIt,Alloc>& m, const std::basic_regex<CharT,Traits>& e, std::regex_constants::match_flag_type flags = std::regex_constants::match_default ); |
(1) | (начиная с C++11) |
template< class BidirIt, class CharT, class Traits > bool regex_match( BidirIt first, BidirIt last, const std::basic_regex<CharT,Traits>& e, std::regex_constants::match_flag_type flags = std::regex_constants::match_default ); |
(2) | (начиная с C++11) |
template< class CharT, class Alloc, class Traits > bool regex_match( const CharT* str, std::match_results<const CharT*,Alloc>& m, const std::basic_regex<CharT,Traits>& e, std::regex_constants::match_flag_type flags = std::regex_constants::match_default ); |
(3) | (начиная с C++11) |
template< class STraits, class SAlloc, class Alloc, class CharT, class Traits > bool regex_match( const std::basic_string<CharT,STraits,SAlloc>& s, std::match_results< typename std::basic_string<CharT,STraits,SAlloc>::const_iterator, Alloc >& m, const std::basic_regex<CharT,Traits>& e, std::regex_constants::match_flag_type flags = std::regex_constants::match_default ); |
(4) | (начиная с C++11) |
template< class CharT, class Traits > bool regex_match( const CharT* str, const std::basic_regex<CharT,Traits>& e, std::regex_constants::match_flag_type flags = std::regex_constants::match_default ); |
(5) | (начиная с C++11) |
template< class STraits, class SAlloc, class CharT, class Traits > bool regex_match( const std::basic_string<CharT, STraits, SAlloc>& s, const std::basic_regex<CharT,Traits>& e, std::regex_constants::match_flag_type flags = std::regex_constants::match_default ); |
(6) | (начиная с C++11) |
1)
Определяет, есть ли матч между регулярным выражением
e и вся последовательность символов целевой [first,last), принимая во внимание эффект flags. Результаты матча будут возвращены в m.Оригинал:
Determines if there is a match between the regular expression
e and the entire target character sequence [first,last), taking into account the effect of flags. Match results are returned in m.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Ведет себя как (1) выше, опуская результаты матчей.
Оригинал:
Behaves as (1) above, omitting the match results.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Возврат
std::regex_match(str, str + std::char_traits<charT>::length(str), m, e, flags).Оригинал:
Returns
std::regex_match(str, str + std::char_traits<charT>::length(str), m, e, flags).Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
Возврат
std::regex_match(s.begin(), s.end(), m, e, flags).Оригинал:
Returns
std::regex_match(s.begin(), s.end(), m, e, flags).Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
5)
Возврат
std::regex_match(str, str + std::char_traits<charT>::length(str), e, flags).Оригинал:
Returns
std::regex_match(str, str + std::char_traits<charT>::length(str), e, flags).Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
6)
Возврат
std::regex_match(s.begin(), s.end(), e, flags).Оригинал:
Returns
std::regex_match(s.begin(), s.end(), e, flags).Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
| 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.
| ||
Возвращаемое значение
Возврат
true, если существует совпадение, false иначе. В любом случае, объект m обновляется, а именно:Оригинал:
Returns
true if a match exists, false otherwise. In either case, the object m is updated, as follows:Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если матч не существует
Оригинал:
If the match does not exist:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
m.ready() == true
| |
m.empty() == true
| |
m.size() == 0
|
Если соответствия не существует
Оригинал:
If the match exists:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
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) |
идентифицирует одно совпадение регулярного выражения, включая все совпадения подвыражений (шаблон класса) |