当前位置: 首页 > 编程语言 > C#

了解数字范围的正则表达式共享

时间:2023-04-10 12:57:54 C#

了解数字范围的正则表达式我正在尝试构建一些正则表达式来验证一些文本框控件。我做了一些研究和测试,但无法让它发挥作用。我尝试创建的正则表达式示例如下:范围0-45,0位小数范围0-20,2位小数范围16-65,0位小数范围0-99,2位小数范围0-1500000,0位小数范围为0-200,小数点后1位分别为1和5。我用过([0-9]|[0-9]d|45)$([0-9]|[0-9]d|1500000)$我遇到的第一个问题是年龄范围16-65(含),我不想要小数位。在此处发布后(正则表达式允许-90.0和+90.0之间的数字)我认为我可以使用逻辑并让它变得可疑,但不能!我得到的表达式是:(d|([1-6][6-4]))|65有人能告诉我我误会了吗!对上述其他示例的任何帮助将不胜感激。很抱歉这么说,但你的正则表达式不起作用。请记住,正则表达式旨在匹配文本数据。虽然可以使用它们来匹配数字,但它并不是真正的选择工具。如果必须使用正则表达式,则需要考虑数字范围的可能文本表示。对于您的示例1,这将是:数字或从1到3的数字后跟任何数字或4后跟从0到5的数字。作为正则表达式:^(?:d|[1-3]d|4[0-5])$^和$anchors确保评估整个字符串;(?:...)分组交替,并用锚点“掩盖”它。对于您的示例3:1、6-9或2-5,然后是任意数字或6,然后是0-5作为正则表达式:^(?:1[6-9]|[2-5]d|6[0-5])$对于您的示例5:1-5位数字或1,然后是0-4,然后是任意四位数字或150000。作为正则表达式:^(?:d{1,5}|1[0-4]d{4}|150000)$等等。添加小数位不是很困难:16-65的逻辑是1plus6-9OR2-5plus0-9OR6plus0-5。我觉得会是1[6-9]|[2-5][0-9]|6[0-5]以上就是《C#学习教程:理解数字范围的正则表达式》的全部内容,如果是对大家有帮助很有用,需要多了解C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: