我期待建立2正则表达式与这些约束:
对于第二个正则表达式,我需要它上升到200而不是100,但其余的相同。目前,我有一个0到100:
^([0-9]|[1-9][0-9]|100)?$
这个是200块
^([01]?[0-9][0-9]?|200)?$
我可以得到0到100或200个数字,但没有小数位。
avwztpqn1#
第一个正则表达式:第一个月
regex101.com
第二个正则表达式:^(([01]?[0-9][0-9]?)|([01]?[0-9][0-9]?\.[0-9]{2})|200)?$
^(([01]?[0-9][0-9]?)|([01]?[0-9][0-9]?\.[0-9]{2})|200)?$
它还包含11.44、199.11等值regex101.com
11.44
199.11
3gtaxfhh2#
你可以像这样扩展你的正则表达式:
^([0-9]|[1-9][0-9]|(?:[0-9]|[1-9][0-9])\.(?:[0-9]|[0-9][0-9])|100)?$
您可以在这里尝试:https://regex101.com/r/HBidWk/1这是针对0-100
b4wnujal3#
下面是我从理解OP的需求中得出的正则表达式模式,如下所示...
0.00
00.00
99.99
100
100.00
/^(?:[1-9]?\d\.\d{2}|100)$/
/^(?:[1-9]?\d\.\d{2}|100)$/.
199.99
200
200.00
/^(?:(?:1\d{2}|[1-9]?\d)\.\d{2}|200)$/
/^(?:(?:1\d{2}|[1-9]?\d)\.\d{2}|200)$/.
/^(?:1\d{2}(?:(?<!100)\.\d{2}|\.\d[1-9])|100|200)$/
/^(?:1\d{2}(?:(?<!100)\.\d{2}|\.\d[1-9])|100|200)$/.
3条答案
按热度按时间avwztpqn1#
第一个正则表达式:第一个月
regex101.com
第二个正则表达式:
^(([01]?[0-9][0-9]?)|([01]?[0-9][0-9]?\.[0-9]{2})|200)?$
它还包含
11.44
、199.11
等值regex101.com
3gtaxfhh2#
你可以像这样扩展你的正则表达式:
您可以在这里尝试:https://regex101.com/r/HBidWk/1
这是针对0-100
b4wnujal3#
下面是我从理解OP的需求中得出的正则表达式模式,如下所示...
0.00
(但不是00.00
)到99.99
再到100
(但不是100.00
)"*/^(?:[1-9]?\d\.\d{2}|100)$/
.0.00
(但不是00.00
)到199.99
再到200
(但不是200.00
)"*/^(?:(?:1\d{2}|[1-9]?\d)\.\d{2}|200)$/
.100
(但不是100.00
)到199.99
再到200
(但不是200.00
)"*/^(?:1\d{2}(?:(?<!100)\.\d{2}|\.\d[1-9])|100|200)$/
.