Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::regex_traits<CharT>::value

      From cppreference.com
      <cpp‎ |regex‎ |regex traits
       
       
       
      Regular expressions library
      Classes
      (C++11)
      Algorithms
      Iterators
      Exceptions
      Traits
      Constants
      (C++11)
      Regex Grammar
       
       
      int value( CharT ch,int radix)const;
      (since C++11)

      Determines the value represented by the digitch in the numeric baseradix, given the currently imbued locale. This function is called bystd::regex when processingQuantifiers such as{1} or{2,5},Backreferences such as\1, and hexadecimal and Unicode character escapes.

      [edit]Parameters

      ch - the character that may represent a digit
      radix - either 8, 10, or 16

      [edit]Return value

      The numeric value ifch indeed represents a digit in the currently imbued locale that is valid for the numeric baseradix, or-1 on error.

      [edit]Example

      Run this code
      #include <iostream>#include <locale>#include <map>#include <regex> // This custom regex traits allows japanese numeralsstruct jnum_traits:std::regex_traits<wchar_t>{staticstd::map<wchar_t,int> data;int value(wchar_t ch,int radix)const{wchar_t up=std::toupper(ch, getloc());return data.count(up)? data[up]: regex_traits::value(ch, radix);}};std::map<wchar_t,int> jnum_traits::data={{L'〇',0},{L'一',1},{L'二',2},{L'三',3},{L'四',4},{L'五',5},{L'六',6},{L'七',7},{L'八',8},{L'九',9},{L'A',10},{L'B',11},{L'C',12},{L'D',13},{L'E',14},{L'F',15}}; int main(){std::locale::global(std::locale("ja_JP.utf8"));std::wcout.sync_with_stdio(false);std::wcout.imbue(std::locale()); std::wstring in= L"風"; if(std::regex_match(in,std::wregex(L"\\u98a8")))std::wcout<<"\\u98a8 matched "<< in<<'\n'; if(std::regex_match(in,std::basic_regex<wchar_t, jnum_traits>(L"\\u九八a八")))std::wcout<< L"\\u九八a八 with custom traits matched "<< in<<'\n';}

      Output:

      \u98a8 matched 風\u九八a八 with custom traits matched 風
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/regex/regex_traits/value&oldid=161056"

      [8]ページ先頭

      ©2009-2025 Movatter.jp