Csharp/C#教程:正则表达式允许数字在-90.0和+90.0之间分享


正则表达式允许数字在-90.0和+90.0之间

什么是允许-90.0和+90.0之间的数字的正则表达式? 中间的数字可以是浮点数或整数。

我认为你不想使用正则表达式。 如果数据存储在字符串中,请使用Double.Parse() (或Double.TryParse() ),然后检查结果值以确保它落在所需范围内。 例如:

 public bool IsInRange(string value) { bool isInRange = false; double parsed = 0; if (Double.TryParse(value, out parsed)) { // use >= and <= if you want the range to be from -90.0 to 90.0 inclusive isInRange = value > -90.0 && value < 90.0; } return isInRange; } 

如果你的价值已经是double ,那就更容易了 - 不需要解析。

并不是说你真的想在这里使用正则表达式(你应该解析它,而是对数字类型进行比较 – 比如float或double)。 但是,你可以这样做:

 -?(d|([1-8][0-9])(.d)?)|(90(.0)?) 

这将匹配-90.0到90.0,包括在内。 如果您希望它是独占的,请删除90.0子句。

如果要支持更多小数点,请将0-89.9子句更改为:

如有必要,逃脱

“有些人在遇到问题时会想:”我知道,我会使用正则表达式。“现在他们有两个问题。”

这是一个通过检查可以更好地解决的问题。 但是,如果你想要一个正则表达式,你可以有一个正则表达式。

 -?0*((90(.0*)?)|([1-8]?d(.d*)?)) 

我认为会工作的。 匹配一个可选的’ – ‘,后跟任意数量的零,后跟90,任意数量的零,或一个由1到8之间的可选十位数组成的数字,后跟一个数字,后跟一个可选的小数和小数位。 但你明白为什么使用正则表达式是如此混乱。 将边界检查为数字,而不是一系列数字。

上述就是C#学习教程:正则表达式允许数字在-90.0和+90.0之间分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ctvol.com/cdevelopment/1022052.html

(0)
上一篇 2022年1月6日
下一篇 2022年1月6日

精彩推荐