正则表达式超过75美元

时间:2015-11-16 19:39:03

标签: java regex

我需要一个正则表达式,批准75美元或更高的价值,并拒绝任何低于75美元的价值。这就是我现在所拥有的,仅批准75美元,但没有超过。 [7-9] [5-9] |([1-9] [0-9] +)

2 个答案:

答案 0 :(得分:7)

虽然最好的答案可能是“不使用正则表达式”,但可能需要将其作为更大正则表达式的一部分来完成,其中较大的使用是有意义的。在那种情况下(那种情况):

7[5-9]|[8-9][0-9]|[1-9][0-9][0-9]+(\.[0-9][0-9])?

,其中一个:

  • 75-79
  • 80-99
  • 任何大于100的

可能后跟小数和两位数。 (感谢Mike Elofson指出小数)

答案 1 :(得分:1)

全力以赴...这匹配(并移除)$并获取超过75.0的任何数字

\b(?<=\$)(7[5-9]|[8-9][0-9]|[1-9][0-9]{2,})\.?\d*$

(请注意,并非所有语言都支持正面观察)

但是,再次有点矫枉过正 - 它更容易剥离$,转换为double并检查结果是否>&gt; = 75.0