具有限制字符大小的十进制数的正则表达式
本文关键字:十进制数 正则表达式 有限制 字符 | 更新日期: 2023-09-27 18:31:43
我正在尝试构建符合以下条件的正则表达式。你能给我一个解决方案吗?
我尝试了:^[0-9]+('.[0-9]{1,2})?$
它按预期工作,但现在我想添加一个模式来限制字符大小为 10(max),包括文本框中的句点('.')。
验收标准值(当字符长度为 6 时):
.5
、0.5
、1.2
、33.33
、123.45
拒绝条件值(当字符长度为 6 时):
.5.0
、-0.5
、2.333
、122.456
、1234.56
(被拒绝,因为长度是7,包括点('.')
一种方法是积极的展望。首先检查条件,然后匹配:
string pattern = @"(?x) (?=^.{1,10}$ ) (^ 'd+ ('.'d{1,2})? $) | (^'.'d{1,2}$)";
(?=^.{1,10}$ )
是前瞻,匹配从 1 到 10(包括 1 和 10)的字符串,然后匹配: (^ 'd+ ('.'d{1,2})? $)
匹配后跟 .和 1 或 2 个其他数字
| 或
(^'.'d{1,2}$)
匹配项 。后跟 1 或 2 位数字
谢谢,
我得到了答案,就像分成两个正则表达式一样。一个用于数字验证,另一个用于长度验证。如果两个条件都匹配,则表示已接受。
感谢您的宝贵建议。
纳文