【发布时间】:2017-11-17 14:00:52
【问题描述】:
在我正在编写的程序中,我需要检查某个十六进制数是否在给定范围内。
我都明白了,除了我遇到的一个问题:
假设我收到以下范围:52-71
我需要检查给定的数字是否在该范围内,例如:6e
我怎样才能编写一个支持它的正则表达式?
编写检测 50-7f 的正则表达式很容易,因为其中可以生成每个数字 --> [5-7][0-9a-fA-F]。
问题是范围不能被简化,因为它必须除了 6e, 53, 71 但拒绝 51, 72 有没有一种巧妙的方法可以从前面提到的表达式中排除 50-51、72-7f 范围:
[5-7][0-9a-fA-F]
非常感谢, 顺便说一句,我正在使用 python。
【问题讨论】:
-
Regex 很可能是这里的错误工具,是什么让您无法将字符串转换为数字并与它们进行比较?
-
它是更大程序的一部分,这是最有效的方法,也是我需要解决的最后一个障碍