• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    type-alias
    <regex>

    std::regex_constants::syntax_option_type

    namespace std {
    namespace regex_constants {
      using syntax_option_type = implementation-defined;
    
      // C++11
      constexpr syntax_option_type icase = unspecified;
      constexpr syntax_option_type nosubs = unspecified;
      constexpr syntax_option_type optimize = unspecified;
      constexpr syntax_option_type collate = unspecified;
      constexpr syntax_option_type ECMAScript = unspecified;
      constexpr syntax_option_type basic = unspecified;
      constexpr syntax_option_type extended = unspecified;
      constexpr syntax_option_type awk = unspecified;
      constexpr syntax_option_type grep = unspecified;
      constexpr syntax_option_type egrep = unspecified;
    
      //C++17
      inline constexpr syntax_option_type icase = unspecified;
      inline constexpr syntax_option_type nosubs = unspecified;
      inline constexpr syntax_option_type optimize = unspecified;
      inline constexpr syntax_option_type collate = unspecified;
      inline constexpr syntax_option_type ECMAScript = unspecified;
      inline constexpr syntax_option_type basic = unspecified;
      inline constexpr syntax_option_type extended = unspecified;
      inline constexpr syntax_option_type awk = unspecified;
      inline constexpr syntax_option_type grep = unspecified;
      inline constexpr syntax_option_type egrep = unspecified;
      inline constexpr syntax_option_type multiline = unspecified;
    }}
    

    概要

    構文オプションを表す実装定義のビットマスク型。

    名前 説明 対応バージョン
    icase 正規表現のマッチで大文字小文字を区別しないことを指定する。 C++11
    nosubs 正規表現のマッチ成功時に、渡されたmatch_resultsオブジェクトへの参照に、部分式のマッチ情報を格納しないことを指定する C++11
    optimize 正規表現エンジンに、正規表現オブジェクトの構築速度よりもマッチ速度に注意を払うべきであることを指定する。 C++11
    collate [a-b]形式の文字範囲がロケールを考慮することを指定する C++11
    ECMAScript ECMA-262仕様第 3 版のECMAScript言語で使用されている正規表現と同じ構文を使用する C++11
    basic POSIX基本正規表現と同じ構文を使用する C++11
    extended POSIX拡張正規表現と同じ構文を使用する C++11
    awk POSIXユーティリティのawkと同じ構文を使用する C++11
    grep POSIXユーティリティのgrepと同じ構文を使用する C++11
    egrep POSIXユーティリティのgrepに-Eオプションを指定した場合と同じ構文を使用する C++11
    multiline 複数行モードを有効にする。このオプションはECMAScript構文でのみ使用できる。このオプションを有効にした場合、行頭マッチの^が先頭行の行頭にマッチし、行末マッチの$が最終行の行末にマッチするようになる C++17

    備考

    syntax_option_type の有効な値には、ECMAScriptbasicextendedawkgrepegrep は 2 つ以上含んではならない。
    いずれの値も含まれていない場合、構文は ECMAScript となる。
    なお、C++11 では「いずれか 1 つを必ず含んでいる必要がある」となっていたが、それだと例えば regex("meow", regex::icase) のような指定が許されなくなってしまうため、規格の誤りとして C++14 で修正された。

    バージョン

    言語

    • C++11

    処理系

    • Clang: 3.0 , 3.1 , 3.2 , 3.3 , 3.4 , 3.5 , 3.6
    • GCC: 4.9.0 , 4.9.1 , 4.9.2 , 5.0.0
    • ICC: ??
    • Visual C++: ??

    参照