std::regex_traits<CharT>:: lookup_collatename
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            ForwardIt
            
             >
            
             
         string_type lookup_collatename ( ForwardIt first, ForwardIt last ) const ;  | 
         ||
       문자 시퀀스
       
        
         [
        
        
         
          first
         
        
        
         ,
        
        
         
          last
         
        
        
         )
        
       
       가 현재 임뷰드된 로캘에서 유효한 콜레이팅 엘리먼트의 이름을 나타내는 경우, 해당 콜레이팅 엘리먼트의 이름을 반환합니다. 그렇지 않으면 빈 문자열을 반환합니다.
      
       콜레이팅 요소(Collating elements)는 POSIX 정규 표현식에서
       
        [.
       
       와
       
        .]
       
       사이에 위치하는 기호들입니다. 예를 들어,
       
        [.a.]
       
       는 C 로캘에서 문자
       
        a
       
       와 매치됩니다.
       
        [.tilde.]
       
       또한 C 로캘에서 문자
       
        ~
       
       와 매치됩니다.
       
        [.ch.]
       
       는 체코 로캘에서 이중 문자
       
        ch
       
       와 매치되지만, 대부분의 다른 로캘에서는
       
        
         std::regex_error
        
       
       와 함께 에러 코드
       
        
         std::regex_constants::error_collate
        
       
       를 생성합니다.
      
매개변수
| first, last | - | 콜레이팅 요소 이름을 나타내는 문자 시퀀스를 결정하는 한 쌍의 반복자 | 
| 타입 요구사항 | ||
         -
         
          ForwardIt
         
         는
         
          
           LegacyForwardIterator
          
         
         요구사항을 충족해야 합니다.
         | 
       ||
반환값
명명된 정렬 요소의 문자열 표현입니다.
예제
#include <iostream> #include <regex> #include <string> struct noisy_traits : std::regex_traits<char> { template<class Iter> string_type lookup_collatename(Iter first, Iter last) const { string_type result = regex_traits::lookup_collatename(first, last); std::cout << "regex_traits<>::lookup_collatename(\"" << string_type(first, last) << "\") returns \"" << result << "\"\n"; return result; } }; int main() { std::string str = "z|}a"; // C 로캘 콜레이션 순서: x,y,z,{,|,},~ std::basic_regex<char, noisy_traits> re("[x-[.tilde.]]*a", std::regex::basic); std::cout << std::boolalpha << std::regex_match(str, re) << '\n'; }
가능한 출력:
regex_traits<>::lookup_collatename("tilde") returns "~"
true