首頁  >  文章  >  後端開發  >  C 中 std::match_results::size() 傳回多少項?

C 中 std::match_results::size() 傳回多少項?

Patricia Arquette
Patricia Arquette原創
2024-11-08 13:40:02500瀏覽

How Many Items Does std::match_results::size() Return in C  ?

std::match_results::size() 回傳什麼?

在 C 11 中, std::match_results::size( )函數傳回符合結果物件中擷取群組的數量加一(整個符合

考慮以下程式碼:

<code class="cpp">#include <iostream>
#include <string>
#include <regex>

int main() {
    std::string haystack("abcdefabcghiabc");
    std::regex needle("abc");
    std::smatch matches;
    std::regex_search(haystack, matches, needle);
    std::cout << matches.size() << std::endl;
}</code>

此程式碼尋找字串「abcdefabcghiabc」中第一次出現的子字元串“abc”,並將匹配結果儲存在matches 物件中。 3(預期的匹配數)。沒有捕獲組,因此size() 返回1(僅完全匹配)。字串)。的範例:

此程式碼迭代字串中「abc」的所有符合項目並對其進行計數。 🎜>

如果您的正規表示式包含捕獲組(帶括號的子表達式),則匹配結果的大小也會包括捕獲組。式,且輸入字串包含“abcdef”,則符合結果的大小將為2(完全符合並捕獲群組“def”)。

以上是C 中 std::match_results::size() 傳回多少項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn