我正在对一个大字符串进行正则表达式匹配。那么,问题是我可以重复相同的表达次数有限制吗?在这种情况下,我重复[+-]?((\d+(\.\d*)?)|\.\d+)([eE][+-]?[0-9]+)?
了 10 次以上。它在 2e-007 点不匹配。但是,如果您单独使用数字,则表达式将匹配。这让我发疯,想知道有没有更简单的方法。您可以使用正则表达式看到这一点
示例输入
为估值规范“RiskSettings1D”持有“xxxxx”是有问题的。由于校准错误,将忽略市场价格并使用历史波动率。期权是欧洲看跌期权。假设期权价格为 2.000000000000001e-005,执行价格为 100,标的价格为 64.77914897148099,无风险利率为 0.01329492130017084,持有成本为 0,到期年数为 0.005479452054794521。零波动的价格是 35.2208253705315。波动率为 500 的价格为 36.96626067864203。模型没有校准到 2e-007 的给定市场价格。实际总数为 0.352208。
正则表达式:
为估值规范“[^”]持有“[^” ]是有问题的。[\s]*给定的市场价格将被忽略,由于校准错误,将使用历史波动率。[\s]选项是(n)? [^.] .[\s]给定期权价格为 [+-]?((\d+(.\d )?)|.\d+)([eE][+-]?[0-9]+) ?, 行使价为 [+-]?((\d+(.\d*)?)|.\d+)([eE][+-]?[0-9]+)?, 标的价格为 [+ -]?((\d+(.\d*)?)|.\d+)([eE][+-]?[0-9]+)?, 无风险利率为 [+-]?((\ d+(.\d*)?)|.\d+)([eE][+-]?[0-9]+)?, 携带成本为 [+-]?((\d+(.\d* )?)|.\d+)([eE][+-]?[0-9]+)?,有效期为 [+-]?((\d+(.\d*)?)|.\ d+)([eE][+-]?[0-9]+)?.[\s]波动率为零的价格是 [+-]?((\d+(.\d )?)|.\d+) ([eE][+-]?[0-9]+)?.[\s]波动率为 500 的价格为 [+-]?((\d+(.\d )?)|.\d+)([eE][+-]?[0-9]+)?.[\s]*Models没有校准到给定的市场价格