카테고리 없음
[c++] regex_search 함수
owls
2023. 1. 20. 13:52
728x90
1.함수 헤더 파일
#include <regex>
2.함수 원형
template <class BidIt, class Alloc, class Elem, class RXtraits, class Alloc2>
bool regex_search(
BidIt first,
Bidit last,
match_results<BidIt, Alloc>& match,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template <class BidIt, class Elem, class RXtraits, class Alloc2>
bool regex_search(
BidIt first,
Bidit last,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template <class Elem, class Alloc, class RXtraits, class Alloc2>
bool regex_search(
const Elem* ptr,
match_results<const Elem*, Alloc>& match,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template <class Elem, class RXtraits, class Alloc2>
bool regex_search(
const Elem* ptr,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template <class IOtraits, class IOalloc, class Alloc, class Elem, class RXtraits, class Alloc2>
bool regex_search(
const basic_string<Elem, IOtraits, IOalloc>& str,
match_results<typename basic_string<Elem, IOtraits, IOalloc>::const_iterator, Alloc>& match,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template <class IOtraits, class IOalloc, class Elem, class RXtraits, class Alloc2>
bool regex_search(
const basic_string<Elem, IOtraits, IOalloc>& str,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
3. Parameter (매개 변수)
BidIt | The iterator type for submatches. |
Alloc | The match result allocator class. |
Elem | The type of element to find a match for. |
RXtraits | The attribute class for the element. |
Alloc2 | The regular expression allocator class. |
IOtraits | A string attribute class. |
IOalloc | String allocator class. |
flags | Flags for matching. |
first | The start of the matching sequence. |
last | End of matching sequence. |
match | Match result. |
ptr | A pointer to the start of the matching sequence. |
re | The regular expression to look for matches. |
str | A string to match. |
4. Described
re : 각 템플릿 함수는 피연산자 시퀀스에서 해당 정규식 인수 검색이 성공한 경우에만 true를 반환합니다.
match result : 개체를 가져오는 함수는 검색이 성공했는지 여부를 반영하도록 구성원을 설정하고, 성공한 경우 정규식의 다양한 캡처 그룹을 캡처합니다.
4.예제
#include <iostream>
#include <regex>
using namespace std;
int main(){
const char *first = "abcd";
const char *last = first + strlen(first);
cmatch mr;
regex_constants::match_flag_type f1 = regex_constants::match_default;
regex rx("abc");
cout << "search(f, f+1, \"abc\") == " << boolalpha << regex_search(first, first + 1, rx, f1) <<endl;
cout << "search(f, l, \"abc\") == " << boolalpha << regex_search(first, last, mr, rx) <<endl;
cout << " matched: \"" << mr.str() << "\"" << endl;
cout << "search(string, \"abc\") == " << boolalpha << regex_search(string("a"), rx) << endl;
string str("abcabc");
match_results<string::const_iterator> mr2;
cout << "search(string, \"abc\") == " << boolalpha << regex_search(str, mr2, rx) << endl;
cout << " matched \"" << mr2.str() << "\"" << endl;
}
search(f, f+1, "abc") == false
search(f, l, "abc") == true
matched: "abc"
search(string, "abc") == false
search(string, "abc") == true
matched "abc"
728x90