private static Regex regex_Unsigned_Integer = new Regex("^(([0-9]{1})|([1-9][0-9]+))$");
private static Regex regex_Signed_Integer = new Regex("^([+|-]?)(([0-9]{1})|([1-9][0-9]+))$");
private static Regex regex_Unsigned_Factor = new Regex("^(([0-9]+[/][1-9]{1}[0-9]*)|([1-9]{1}[0-9]*['][1-9]+[/][1-9]{1}[0-9]*))$");
private static Regex regex_Signed_Factor = new Regex("^([+|-]?)(([0-9]+[/][1-9]{1}[0-9]*)|([1-9]{1}[0-9]*['][1-9]+[/][1-9]{1}[0-9]*))$");
private static Regex regex_Unsigned_Decimal = new Regex("^((([0-9]{1})|([1-9]{1}[0-9]+))[.][0-9]+)$");
private static Regex regex_Signed_Decimal = new Regex("^([+|-]?)((([0-9]{1})|([1-9]{1}[0-9]+))[.][0-9]+)$");发布于 2015-10-04 11:29:07
您不需要6个正则表达式,所有这些都可以放在一个单独的中:
^(?:
(?<sign>\([-+])?
(?:[0-9]+')?
[0-9]+(?:.[0-9]+)?
(?:/[0-9]+(?:.[0-9]+)?)?
(?(sign)\))
)$你想要的是:
(,然后是+或-:
(?(-+)?sign组匹配,则匹配):
(签署)
这是您正在寻找的条件regex运算符:
(?(GroupName)-然后表示
|elseExpression部分是可选的。https://stackoverflow.com/questions/32930607
复制相似问题