Namespaces
Variants

operator==,!= (std::match_results)

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
定义于头文件 <regex>
template < class BidirIt, class Alloc >

bool operator == ( match_results < BidirIt,Alloc > & lhs,

match_results < BidirIt,Alloc > & rhs ) ;
(1) (C++11 起)
template < class BidirIt, class Alloc >

bool operator ! = ( match_results < BidirIt,Alloc > & lhs,

match_results < BidirIt,Alloc > & rhs ) ;
(2) (C++11 起)
(C++20 前)

比较两个 match_results 对象。

两个 match_results 在满足以下条件时相等:

  • 两个对象均未处于 就绪 状态,
  • 两个匹配结果均为 就绪 状态且满足以下条件:
  • lhs. empty ( ) rhs. empty ( ) 同时成立,
  • ! lhs. empty ( ) ! rhs. empty ( ) 同时成立且满足以下条件:
  • lhs. prefix ( ) == rhs. prefix ( )
  • lhs. size ( ) == rhs. size ( ) && std:: equal ( lhs. begin ( ) , lhs. end ( ) , rhs. begin ( ) )
  • lhs. suffix ( ) == rhs. suffix ( )
1) 检查 lhs rhs 是否相等。
2) 检查 lhs rhs 是否不相等。

!= 运算符由 operator== 合成生成

(C++20 起)

目录

参数

lhs, rhs - 待比较的匹配结果
类型要求
-
BidirIt 必须满足 LegacyBidirectionalIterator 的要求。
-
Alloc 必须满足 Allocator 的要求。

返回值

1) true lhs rhs 相等,否则为 false
2) lhs rhs 不相等则为 true ,否则为 false

异常

可能抛出实现定义的异常。

示例