正则表达式 IP 通配符转换
Regex IP wildcard Conversion
我需要将以下内容转换为正则表达式。我需要第二个和第三个八位字节作为通配符。我对 Regex 很糟糕,因为我很少需要使用它。我在网上搜索了解决方案。有人可以帮忙吗?
10.(通配符).(通配符).248
谢谢!
10\.\d+\.\d+\.248
'\.'匹配 '.','\d' 匹配任何数字。 '\d+' 匹配一位或多位数字。
其他角色与自己匹配。
简短而甜美:
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
Testing/developing 未来的正则表达式模式
那里有很多正则表达式测试器网站。我个人使用 RexexHero.net since I develop .Net applications, but there are other more generic options too such as regexpal.com.
您需要使用反斜杠对点元字符进行转义,但像这样的方法会起作用:
10\.[0-9]{1,3}\.[0-9]{1,3}\.248
注意:此图案不是防弹的。它不检查 IP 地址是否有效,它只检查它是否匹配类似 IP 的模式。例如,它将匹配 10.999.999.248
.
我需要将以下内容转换为正则表达式。我需要第二个和第三个八位字节作为通配符。我对 Regex 很糟糕,因为我很少需要使用它。我在网上搜索了解决方案。有人可以帮忙吗?
10.(通配符).(通配符).248
谢谢!
10\.\d+\.\d+\.248
'\.'匹配 '.','\d' 匹配任何数字。 '\d+' 匹配一位或多位数字。 其他角色与自己匹配。
简短而甜美:
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
Testing/developing 未来的正则表达式模式
那里有很多正则表达式测试器网站。我个人使用 RexexHero.net since I develop .Net applications, but there are other more generic options too such as regexpal.com.
您需要使用反斜杠对点元字符进行转义,但像这样的方法会起作用:
10\.[0-9]{1,3}\.[0-9]{1,3}\.248
注意:此图案不是防弹的。它不检查 IP 地址是否有效,它只检查它是否匹配类似 IP 的模式。例如,它将匹配 10.999.999.248
.