我想知道是否有更好的方法使用斯巴什解析器框架来解析带符号整数。
没有符号Parse.Number.Select(int.Parse)
的整数有着众所周知的解析器定义。
但是我也想解析带有-
前缀的整数。
我现在得到的是Parse.Regex(@"\-?\d+").Select(int.Parse)
。
在不使用正则表达式的情况下,是否有更好的方法来做到这一点?
例如,使用Parse.Char('-').Optional()
,然后解析以下数字。
谢谢
发布于 2014-02-18 11:59:46
我这样做的方式类似于以下内容:
from op in Parse.Optional(Parse.Char('-').Token())
from num in Parse.Decimal
from trailingSpaces in Parse.Char(' ').Many()
select decimal.Parse(num) * (op.IsDefined ? -1 : 1);
当然,根据解析内容的上下文,省略trailingSpaces部分。
https://stackoverflow.com/questions/21414309
复制相似问题