1

私はpython正規表現を持っています:

\A\s*                      # optional whitespace at the start, then
(?P<sign>[-+]?)            # an optional sign, then
(?=\d|\.\d)                # lookahead for digit or .digit
(?P<num>\d*)               # numerator (possibly empty)
(?:                        # followed by
   (?:/(?P<denom>\d+))?    # an optional denominator
|                          # or
   (?:\.(?P<decimal>\d*))? # an optional fractional part
   (?:E(?P<exp>[-+]?\d+))? # and optional exponent
)
\s*\Z                      # and optional whitespace to finish

つまり、次の名前付きグループを取得します。

  • 署名済み/署名なし | 有理数/小数/整数 | 数 | 指数あり/なし

しかし、私は C++11 正規表現形式と混同していますか? 私が読んだように、サポートされている形式はほとんどありませんが、これで正規表現パーサー例外が発生します。さらに、名前付きグループが C++11 正規表現でサポートされていないことを読みました。

同等のスキームを提供する C++11 互換の正規表現を取得するには?

ご助力ありがとうございます。

4

1 に答える 1