如何在groovy中编写正确的正则表达式?
我想在 groovy 中为我的 matches
创建一个模式。输入范围应为 0 到 100
,但接受十进制值
。我知道可以通过使用 double 数据类型来实现这一点,但作为要求,我需要将此属性的数据类型设置为 String,这就是为什么我需要设置String
的匹配模式正确,才能正常工作。可能的输入:
1) 1 - valid
2) 1.5301 - valid
3) 99.6732 - valid
4) 99.1 - valid
5) 100.1 - invalid
6) 100 - valid
非常感谢!
I wanted to create a pattern for my matches
in groovy. The input should range from 0 to 100
, but accepts decimal value
. I know that this is possible by using the double
datatype, but as a requirement I need to set the datatype of this property as a String
that's why I need to set up the correct pattern of the matches for the String
for it to work properly. Possible input:
1) 1 - valid
2) 1.5301 - valid
3) 99.6732 - valid
4) 99.1 - valid
5) 100.1 - invalid
6) 100 - valid
Thank you so much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这应该有效:
This should work:
Amber 具有正确的正则表达式
作为在 Groovy 中演示这一点的一种方式,您可以这样做:
但是,我可能会这样做:
因为使用正则表达式检查范围感觉有点鲁莽。
Amber has the correct regular expression
As a way of demonstrating this in Groovy, you can do:
However, I would probably do something like:
As checking ranges with a regular expression feels like a bit of a foolhardy route to take
您可以(并且应该)使用一系列双精度数:
并从字符串中获取双精度数:
You can (and should) use a range of doubles:
And getting a double from string: