1
私はPythonの正規表現しました:つまりC++ 11の正規表現の混乱
\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対応の正規表現を持つにはどうすればよいですか?
ありがとうございました。
あなたの岩を参照してください。情報については、ここで使用する正規表現のスタイルは何ですか? posix? –
いいえ、ECMAScript 5です。POSIXは先読みをサポートしていません。ここには '(?= \\。?\\ d)'があります。 –