利用正则获取IP的操作
shell
#!/bin/bash
# 定义合法的 IP 地址的正则表达式
ip_regex='^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
# 待匹配的 IP 地址列表
ip_addresses=("192.168.0.1" "10.0.0.255" "256.256.256.256" "127.0.0.1")
# 遍历 IP 地址列表并进行匹配
for ip in "${ip_addresses[@]}"; do
if [[ $ip =~ $ip_regex ]]; then
echo "$ip 是合法的 IP 地址"
else
echo "$ip 不是合法的 IP 地址"
fi
done
# 还可以用grep的方式
echo 192.168.1.11 | grep -Po "${ip_regex}"
golang
import (
"fmt"
"regexp"
)
func main() {
// 定义一个正则表达式来匹配合法的 IP 地址
ipRegex := `^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$`
// 创建正则表达式对象
re := regexp.MustCompile(ipRegex)
// 待匹配的 IP 地址列表
ipAddresses := []string{
"192.168.0.1",
"10.0.0.255",
"256.256.256.256", // 不合法的 IP
"127.0.0.1",
}
// 遍历 IP 地址列表并进行匹配
for _, ip := range ipAddresses {
if re.MatchString(ip) {
fmt.Printf("%s 是合法的 IP 地址\n", ip)
} else {
fmt.Printf("%s 不是合法的 IP 地址\n", ip)
}
}
}
利用正则获取IP的操作的更多相关文章
- python 利用正则表达式获取IP地址
例:import retest= '$MYNETACT: 0,1,"10.10.0.9"'pattern =re.compile(r'"(\d+\.\d+\.\d+\.\ ...
- python3 利用正则获取网页中的想保存下来的内容
需要获取某个网页中表格部分中某个产品的成份 分析在html中成份的元素代码 <a href="/composition/4c3060178d1184935a48c4e51be4f63f ...
- 利用Java获取ip地址
方法1 public static String getIp2(HttpServletRequest request) { String ip = request.getHeader("X- ...
- 利用js 获取ip和地址
1.引用第三方js<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> 2. I ...
- 利用QQ获取ip
首先启动任务管理器,选择性能选型,点击打开资源管理器 点击网络,找到qq.exe 点击下面的TCP链接 最好让你的qq好友发一个离线文件,在接收的时候注意远程连接,即使您所要的你好友的ip地址
- JS获取IP、MAC和主机名的五种方法
javascript获取客户端IP的小程序,下面的代码是我在所有windowsNT5.0及以上的系统上都测试通过的,喜欢的朋友可以收藏下.今天在搞JS(javascript)获取客户端IP的小程序,上 ...
- 自定义Nginx日志格式获取IP地址的省市份信息
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6806672112477012493/ 在linux中nginx日志产生的格式是下面的配置: $remote_add ...
- 在 shell 脚本获取 ip、数字转换等网络操作
在 shell 脚本获取 ip.数字转换等网络操作 ip 和数字的相互转换 ip转换为数字 :: function ip2num() { local ip=$1 local a=$(echo $ip ...
- 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)
1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...
- php利用淘宝IP库获取用户ip地理位置
我们查ip的时候都是利用ip138查询的,不过那个有时候是不准确的,还不如自己引用淘宝的ip库来查询,这样准确度还高一些.不多说了,介绍一下淘宝IP地址库的使用. 淘宝IP地址库 淘宝公布了他们的IP ...
随机推荐
- HyperMesh视觉控制
在HyperMesh中,模型视角控制可通过标准视图(Standard Views)工具栏.三维视图控制(3D View Controls)工具栏以及鼠标实现. (1) 标准视图工具栏图标. (2) ...
- Spring Boot 自动配置原理深度解析
在 Spring 生态系统中,Spring Boot 自动配置是实现 "零配置" 开发的核心特性,通过约定大于配置的理念,自动为应用注入所需的基础设施配置.本文从核心注解.底层机制 ...
- Kong入门学习实践(6)HTTPS与TCP流代理
最近在学习Kong网关,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看.由于我司会直接使用Kong企业版,学习过程中我会使用Kong开源版. 本篇,我们学习快速配置 ...
- MKL普通矩阵运算示例及函数封装
本示例将介绍MKL中的矩阵乘法和求逆,使用MKL进行此类大型矩阵运算可大量节省计算时间和空间,但由于MKL中的原生API接口繁杂,因此将常用函数封装,便于后续使用,最后在实际例子中调用接口执行想要的矩 ...
- leetcode 需要了解的知识点储备
简介 周赛的最好成绩3道题. 常用算法 lower_bound 二分查找 寻找比值小的 upper_bound 二分查找 lower_bound( )和upper_bound( )都是利用二分查找的方 ...
- Tensorflow 初步接触
Tensorflow 初步接触 机器学习 google的开源框架吧 第一个学习步骤中文的tensorflow教程 第一个py #coding=utf-8 import input_data impor ...
- tigervnc配置
简介 使用vnc 访问 服务器 下载链接 https://bintray.com/tigervnc/stable/tigervnc/1.10.1 简易使用命令 x0vncserver -rfbport ...
- iOS系统资源调度机制解析
在开发高性能iOS应用时,深入了解并合理利用iOS系统的资源调度机制至关重要.资源调度涉及到线程的创建与管理.任务的分配与执行.以及进程优先级的调整等多个方面.本文将重点介绍iOS系统中的核心资源调度 ...
- 在Windows和Linux终端下使用代理的方式
背景 在快乐上网的时候,网页会经过代理,但是有些在终端运行的程序不一定会经过代理,比如用git clone github仓库的时候,或者curl 下载github release的时候,如果不走代理, ...
- POLIR-Society--Networking- {关系、理论与管理}: 权利 - Giving(给于)+Taking(取得)+运用好+"人性"
POLIR-Society--Networking- {关系.理论与管理}: 权利 - Giving(给于)+Taking(取得) 运用好"权利"+"人性" E ...