我有这样的文字:
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.我该怎么做?
答案 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的长度为一个字符5
到9
,或者长度至少为2个字符的数字。
对于更古老的正则表达式系统,您可以使用扩展版本:
([5-9]\+|[0-9][0-9]+\+)
答案 2 :(得分:1)
答案 3 :(得分:1)
\d{2,}?\+$|[5-9]\+$
进行两次搜索:
搜索一个:
\d{2,}?\+$
此代码在加号(+)符号和行尾($)之前搜索至少两位数。只要假设它是一个整数,并且不使用小数点,它可以小到10和你想要的大。
搜索二:
[5-9]\+$
此代码在加号(+)和行尾($)之前搜索5到9之间的任何数字。
正则表达式通常运行的方式是它首先检查搜索,然后如果没有命中,它将检查搜索2。如果通过用管道符号(|)
将它们分开来将它们捆绑在一起,则不需要单独进行这些搜索