我需要将以下内容转换为Regex。我需要第二个和第三个八位字节作为通配符。我对Regex很糟糕,因为我很少需要使用它。我在网上搜索了一个解决方案。有人可以帮忙吗?
10(通配符)。(通配符)0.248
谢谢!
答案 0 :(得分:4)
简短而甜蜜:
10\.\d{1,3}\.\d{1,3}\.248
会让你非常接近,而且相对简单。
\.
转义点以防止其匹配任何字符\d
匹配任何数字字符{1,3}
将连续数字的数量限制为1,2或3 更复杂,但更精确:
要仅匹配0到255之间的数字,您可以将\d{1,3}
替换为([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])
:
10\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\.248
- 或 -
10(\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])){2}\.248
将来测试/开发正则表达式模式
那里有很多正则表达式测试网站。我个人使用RexexHero.net,因为我开发了.Net应用程序,但还有其他更通用的选项,例如regexpal.com。
答案 1 :(得分:0)
10\.\d+\.\d+\.248
' \'匹配'。',' \ d'与任何数字匹配。 ' \ d +'匹配1位或更多位数。 其他角色与自己匹配。
答案 2 :(得分:0)
你需要用反斜杠来逃避点元字符,但是这样的东西会起作用:
10\.[0-9]{1,3}\.[0-9]{1,3}\.248
注意:此模式不是防弹的。它不检查IP地址是否有效,它只检查它是否与类似IP的模式匹配。例如,它将匹配10.999.999.248
。