检查数字是否大于4

时间:2015-02-13 17:50:29

标签: regex

我有这样的文字:

HP 400 PROONE İ3-4130T 4GB 500GB 19.5" OB DO    792,40  679,20  582,98  USD     1.462,70    18  100+

最后一个字是100+我想检查100是否大于4.我该怎么做?

4 个答案:

答案 0 :(得分:3)

作为正则表达式,任何一位数以上的数字都大于4,任何一位数字都在5-9范围内。

[1-9][0-9]|[5-9]

在某些正则表达式方言中,\d可用作[0-9]的同义词,但在此特定情况下,这会牺牲非常有限的收益(并且您没有提及任何特定工具或方言)在你的问题中,但我假设你有权访问|交替运算符。

对于涉及算术的任何事情,正则表达式都是极其糟糕的选择;如果可能的话,你最好考虑一种替代方法。

答案 1 :(得分:2)

这是你可能想要的正则表达式。

([4-9]\+|\d{2,}\+)

添加您需要的任何标记(即gm)。

此正则表达式only match the numbers的长度为一个字符59,或者长度至少为2个字符的数字。

对于更古老的正则表达式系统,您可以使用扩展版本:

([5-9]\+|[0-9][0-9]+\+)

achieves the same thing

答案 2 :(得分:1)

使用它:

(([1-4]\d|[5-9])\d*)\+$

DEMO

答案 3 :(得分:1)

如果您只是想找到一个大于4的数字,那么三人的答案就没那问了,但是它不会自己找到你想要的东西。为此,您需要明确说明它是行尾之前的最后一个数字,并且有一个加号(+)。使用此作为您的模式:

\d{2,}?\+$|[5-9]\+$

进行两次搜索:

搜索一个:

\d{2,}?\+$

此代码在加号(+)符号和行尾($)之前搜索至少两位数。只要假设它是一个整数,并且不使用小数点,它可以小到10和你想要的大。

搜索二:

[5-9]\+$

此代码在加号(+)和行尾($)之前搜索5到9之间的任何数字。

正则表达式通常运行的方式是它首先检查搜索,然后如果没有命中,它将检查搜索2。如果通过用管道符号(|)

将它们分开来将它们捆绑在一起,则不需要单独进行这些搜索