我知道我可以通过做一些像[2-9]
这样的事情来匹配数字,我只会匹配数字2和更高的数字,但是对于更多的数字,我能做些什么呢?
例如,如果我想匹配比734
更高的数字,我可以执行[7-9][3-9][4-9]
,但这与741
这样的数字不匹配。
有什么合适的方法吗?此外,它是否可以工作的数字,任意数量的数字?
发布于 2014-04-29 08:22:22
您需要详细说明允许的数字的所有可能的文本表示。这不是regexes擅长的地方--它会起作用的,但它肯定很难维护/更改:
^(73[4-9]|7[4-9]\d|[89]\d\d|\d{4,})$
匹配来自734
及以上的所有数字。
看吧,在regex101.com上直播。
发布于 2014-04-29 08:02:09
不,你不能光凭一根横梁就行。如果您试图在程序或脚本中执行此操作,则应使用regex提取数字,然后尝试将其解析为数字。
或者,如果您只是简单地尝试处理一个文件,而不关心它是如何完成的,那么有各种各样的工具可以帮助您完成它。
发布于 2014-04-29 07:07:16
使用在输入中找到的数字数
可能你的输入中有n个号码。
n=4输入= 1234;或编号= 8704
所以,你可以用
[0-9]{4}
或者某个时候你需要匹配的数字必须至少在2以上的意思。
[2-9]{4}
可能是我有4或5的数字
[2-9]{4,5}
Its
八五六七
94877
但不匹配
2
999999999
7937827857
https://stackoverflow.com/questions/23356669
复制相似问题