std::basic_regex<CharT,Traits>:: mark_count
From cppreference.net
<
cpp
|
regex
|
basic regex
C++
Text processing library
| Localization library | |||||||||||||||||||||||||
| Regular expressions library (C++11) | |||||||||||||||||||||||||
| Formatting library (C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Regular expressions library
| Classes | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| Algorithms | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| Iterators | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| Exceptions | ||||
|
(C++11)
|
||||
| Traits | ||||
|
(C++11)
|
||||
| Constants | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| Regex Grammar | ||||
|
(C++11)
|
std::basic_regex
| Member Functions | ||||
| Observers | ||||
|
basic_regex::mark_count
|
||||
| Locale | ||||
| Modifiers | ||||
| Constants | ||||
| Non-member Functions | ||||
| Deduction guides (C++17) |
|
unsigned
mark_count
(
)
const
;
|
(C++11 이후) | |
정규 표현식 내에 표시된 하위 표현식(캡처 그룹이라고도 함)의 개수를 반환합니다.
목차 |
매개변수
(없음)
반환값
정규 표현식 내에 표시된 하위 표현식의 수입니다.
예외
구현 정의 예외를 던질 수 있습니다.
예제
이 코드 실행
#include <iostream> #include <regex> int main() { std::regex r1{"abcde"}; std::cout << "r1 has " << r1.mark_count() << " subexpressions" << '\n'; // 예상: 0 std::regex r2{"ab(c)de"}; std::cout << "r2 has " << r2.mark_count() << " subexpressions" << '\n'; // 예상: 1 std::regex r3{"a(bc)d(e)"}; std::cout << "r3 has " << r3.mark_count() << " subexpressions" << '\n'; // 예상: 2 // 중첩된 하위 표현식 std::regex r4{"abc(de(fg))"}; std::cout << "r4 has " << r4.mark_count() << " subexpressions" << '\n'; // 예상: 2 // 이스케이프된 괄호 std::regex r5{"a(bc\\(\\)de)"}; std::cout << "r5 has " << r5.mark_count() << " subexpressions" << '\n'; // 예상: 1 // nosubs 플래그 사용 std::regex r6{"ab(c)de", std::regex_constants::nosubs}; std::cout << "r6 has " << r6.mark_count() << " subexpressions" << '\n'; // 예상: 0 }
출력:
r1 has 0 subexpressions r2 has 1 subexpressions r3 has 2 subexpressions r4 has 2 subexpressions r5 has 1 subexpressions r6 has 0 subexpressions