我有一个 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 兼容正则表达式?
非常感谢您的帮助。