ip和端口号的正则表达式

简介: 这里写目录标题一级目录前言1. ip地址2. 端口号3. ip:端口号一级目录前言ip以及端口号的正则表达式在逻辑应用比较广泛对于更多的知识点可看我java框架:java框架零基础从入门到精通的学习路线(超全)1. ip地址关于可用的ip地址可看我之前写的一篇文章:可使用的局域网地址范围【1-9】表示取1到9的数字范围,这种是取值的正则第一个数字((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))250-255,正则为25[0-5]200到249,正

一级目录

前言

ip以及端口号的正则表达式
在逻辑应用比较广泛
前置知识点:^匹配开头第一个,$匹配的结尾

对于更多的知识点可看我java框架:
java框架零基础从入门到精通的学习路线(超全)

1. ip地址

关于可用的ip地址可看我之前写的一篇文章:
可使用的局域网地址范围

【1-9】表示取1到9的数字范围,这种是取值的正则

  • 第一个数字((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))

250-255,正则为25[0-5]
200到249,正则为2[0-4]\d
100到199,正则为1\d{2},{2}代表有2个数字d
0到99,正则为[1-9]?\d,?代表一个或者零个1到9
每个数字之间都有个.通过\.进行转义

  • 第二三四的数字同理所以使用{3}

ip地址的python正则为:

r"^(((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))"

通过这个网址可看到:regex101官网
在这里插入图片描述

写成python(展示个人项目的东西):
本身验证的地址就是ip:端口号,通过分割的形式获取到想要的ip以及端口号

sidorip = kwargs.get("sidorip","")
pattern1 = re.compile(
     r"^(((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))")

if pattern1.match(sidorip):
    my_list = sidorip.split(':')
    host = my_list[0]
    port = my_list[1]

如果是js格式的验证ip地址:

var sidorip = $('#sidorip').val().trim();
console.log(sidorip)

var pattern = /^(((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$/;

if(sidorip.match(pattern) == null) {
    alert(" SID / IP 格式错误 , 请重新刷新网页添加正确的格式 ")
}

关于ip的正则 也可以将其拆分,但是个位数与上面不同:

r"^(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])"

2. 端口号

端口号的地址是:1-65535
同理ip地址,将其拆分开来
通过

60000-65535;10000-59999;1000-9999;100-999;10-99;0-9
端口号的正则表达式:

^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$

如果这部分代码放在js模块中:

var sidorip = $('#sidorip').val().trim();
console.log(sidorip)

var pattern = /^(\:([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]))$/;

if(sidorip.match(pattern) == null) {
   alert(" SID / IP 格式错误 , 请重新刷新网页添加正确的格式 ")
}
^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$

^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$

3. ip:端口号

如果两者合并,只是多了的转义
python的正则如下:

^(((25[0-5]|2[0-4]d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))\:([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$

在这里插入图片描述

相关文章
|
14天前
|
网络协议 Ubuntu Linux
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
解决 `ssh: connect to host IP port 22: Connection timed out` 报错涉及检查 SSH 服务状态、防火墙配置、网络连通性和主机名解析等多个方面。通过逐步排查上述问题,并在 `scp` 命令中正确指定端口,可以有效解决连接超时的问题,确保文件传输的顺利进行。希望本文提供的解决方案能帮助您快速定位并解决该错误。
40 3
|
19天前
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
105 7
|
2月前
|
运维 安全 网络协议
Python 网络编程:端口检测与IP解析
本文介绍了使用Python进行网络编程的两个重要技能:检查端口状态和根据IP地址解析主机名。通过`socket`库实现端口扫描和主机名解析的功能,并提供了详细的示例代码。文章最后还展示了如何整合这两部分代码,实现一个简单的命令行端口扫描器,适用于网络故障排查和安全审计。
54 0
|
4月前
|
网络协议 Linux 网络安全
在Linux中,如何将本地 80 端口的请求转发到 8080 端口?当前主机 IP 为10.0.0.104。
在Linux中,如何将本地 80 端口的请求转发到 8080 端口?当前主机 IP 为10.0.0.104。
|
4月前
|
网络协议 Ubuntu Linux
在Linux中,如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。
在Linux中,如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。
|
4月前
|
网络协议 Linux
在Linux中,如何使用iptables 写⼀条规则?把来源IP为192.168.1.101访问本机80端口的包直接拒绝.
在Linux中,如何使用iptables 写⼀条规则?把来源IP为192.168.1.101访问本机80端口的包直接拒绝.
若依修改,若依部署在本地运行时的注意事项,后端连接了服务器,本地的vue.config.js要先改成localhost:端口号与后端匹配,部署的时候再改公网IP:端口号
若依修改,若依部署在本地运行时的注意事项,后端连接了服务器,本地的vue.config.js要先改成localhost:端口号与后端匹配,部署的时候再改公网IP:端口号
|
6月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
104 5
|
6月前
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
|
5月前
|
监控 算法 Linux
Linux下工具tc详细讲解及限制IP和端口实例
TC (Traffic Control) 是Linux内核中提供的一个用于控制和管理网络流量的强大工具,它允许用户实现QoS(Quality of Service)策略,包括带宽限制、优先级控制、延迟保证等。TC基于内核的队列 discipline (qdisc) 和流量类别(class) 体系结构,允许对进入或离开网络接口的数据流进行复杂的整形和过滤。
385 0