C++ 增强正则表达式匹配与正则表达式搜索

C++ 增强正则表达式匹配与正则表达式搜索,c++,regex,boost,C++,Regex,Boost,如果我的正则表达式模式具有以下形式:^……$,即如果我告诉匹配的内容应该在字符串的开头,并且应该以字符串的结尾结束,那么在匹配字符串中的某些内容时,正则表达式搜索是否等同于正则表达式匹配?或者还有其他区别吗?不,它们不是等价的,因为$in regex_搜索将匹配行尾,^将匹配行首。 因此,在多行字符串中,正则表达式搜索仍然会找到子匹配项。 我猜添加标志boost::match\u not\u eol和boost::match\u not\u bol将创建正则表达式匹配行为。不,它们不是等价的,因

如果我的正则表达式模式具有以下形式:
^……$
,即如果我告诉匹配的内容应该在字符串的开头,并且应该以字符串的结尾结束,那么在匹配字符串中的某些内容时,正则表达式搜索是否等同于正则表达式匹配?或者还有其他区别吗?

不,它们不是等价的,因为$in regex_搜索将匹配行尾,^将匹配行首。 因此,在多行字符串中,正则表达式搜索仍然会找到子匹配项。
我猜添加标志boost::match\u not\u eol和boost::match\u not\u bol将创建正则表达式匹配行为。

不,它们不是等价的,因为$in regex\u搜索将匹配行尾,^将匹配行尾。 因此,在多行字符串中,正则表达式搜索仍然会找到子匹配项。
我猜添加boost::match\u not\u eol和boost::match\u not\u bol标志将创建regex\u匹配行为。

性能也可能有所不同
regex_search
可能会尝试在字符串中的每个位置进行匹配,即使模式只能在开始时成功
regex_match
更清楚。性能上也可能存在差异
regex_search
可能会尝试在字符串中的每个位置进行匹配,即使模式只能在开始时成功<代码>正则表达式匹配更清楚。