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
可能会尝试在字符串中的每个位置进行匹配,即使模式只能在开始时成功<代码>正则表达式匹配更清楚。