例如,在我的cisco开关上,我想找到63-255之间的第二个八位字节的所有结果。 所以第一个八位字节10。 第二个八位字节64 - 255 第三和第四个八位字节可以是任何
所以它应该喜欢这个10. [64 - 255]。。
这是我要去的地方
10 \?\ ..* \ ..*
由于
答案 0 :(得分:1)
以下正则表达式可以满足您的需求(mandatory regex101 link):
10\.(6[4-9]|[7-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(1?\d\d?|2[0-4]\d|25[0-5])\.(1?\d\d?|2[0-4]\d|25[0-5])
它可能看起来很复杂(主要是因为它的长度),但它实际上很简单。这是一个细分:
10
匹配应该是10 \.
匹配一个点。其他\.
s (6[4-9]|[7-9]\d|1\d\d|2[0-4]\d|25[0-5])
匹配第二个八位字节,确保它以64到255(含)之间的方式:
6[4-9]
(64到69之间的数字),或 [7-9]\d
(70到99之间的数字),或 1\d\d
(数字介于100和199之间),或 2[0-4]\d
(数字介于200和249之间),或 25[0-5]
(数字介于250和255之间)(1?\d\d?|2[0-4]\d|25[0-5])
匹配第三个八位字节(可以是0到255之间的任何值),这样:
1?\d\d?
(0到199之间的数字),或强> 2[0-4]\d
(数字介于200和249之间),或 25[0-5]
(数字介于250和255之间)(1?\d\d?|2[0-4]\d|25[0-5])
使用相同的逻辑