首页 > 其他分享 >利用正则规律IP的操作

利用正则规律IP的操作

时间:2023-08-28 14:34:20浏览次数:29  
标签:25 01 规律 IP 地址 合法 正则 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)
		}
	}
}

标签:25,01,规律,IP,地址,合法,正则,ip
From: https://www.cnblogs.com/can-H/p/17662198.html

相关文章

  • Fast by BIP,企业“又快又省”实现财资管理数智化的“最强利器”
    8月26日,用友BIP全球司库事业部召开“FastbyBIP工作部署启动会”。针对用友BIP大型企业数智化速达包FastbyBIP中财资领域产品推广及落地作进一步详细规划。FastbyBIP是面向大型企业,全新推出的包含数智化基础设施、平台底座、应用软件、行业领先实践,以及技术迁移上云和一站式全......
  • 【校招VIP】前端算法考察之排序
    考点介绍:不同的场景中,不同的排序算法执行效率不同。稳定:冒泡、插入、归并不稳定:选择、快速、堆排序、希尔排序一、考点题目1、使用js实现数组的快速排序解答:快速排序使用了冒泡+分治的思路。每轮从数组中取出一个数作为基准;在排序过程中,小于或等于基准数的全部放到基准的左......
  • 【校招VIP】算法考点之堆排
    考点介绍:排序算法属于数据结构和算法的基础内容,并且也是大厂笔试中的高频考点。堆排序是使用一棵树存储序列这个课树只保证跟节点是这棵树中的最小值,但并不保证其他节点是按顺序的。因此他的排序是每次从堆中取得堆顶,取得n次就得到了个数为n的有序序列。一、考点试题1.堆......
  • macOS Sonoma 14 beta 6 (23A5328b) ISO、IPSW、PKG 下载
    macOSSonoma14beta6(23A5328b)ISO、IPSW、PKG下载本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。请访问原文链接:https://sysin.org/blog/macOS-......
  • VMware Tools 12.2.6 - 修复 SRM 无法对 Windows 虚拟机执行 IP 自定义的问题
    VMwareTools12.2.6请访问原文链接:https://sysin.org/blog/vmware-tools-12/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org简介VMwareTools中包含一系列服务和组件,可在各种VMware产品中实现多种功能,从而使用户能够更好地管理客户机操作系统,以及与客户机操作系......
  • myeclipse svn 修改用户名和密码
    由于在svn的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法。   解决方案:在Eclipse使用SVN的过程中大多数人往往习惯把访问SVN的用户名密码自动保存起来以便下次自动使用,不要再次手工输入,但是有些时候需要变更密码或者用户......
  • javascript中parseInt的问题
    今天遇到一个有趣的问题,就是在用javascript的parseInt函数时,parseInt("08")或者parseInt("09")返回的居然是0,而parseInt("01")...parseInt("07")都是正确的,一开始很难理解,后来发现出现这个问题的原因是当在前面有"0"时,javascript会认为这是一个八进制数,而"08"和"09"不是一个合法......
  • Eclipse SVN插件的帐号、密码修改
        Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。解决思路:    既然界面上不能进行修改,那就只有......
  • 你不知道的 JavaScript - “this”
    JavaScript里的this到底指得是什么?很多人都会告诉你this指的是当前对象。这样理解对么?在大多数情况下确实没错。比如我们经常会在网页上写这样的JavaScript: <inputtype="submit"value="提交"onclick="this.value='正在提交数据'"/......
  • JavaScript FSO属性大全
     什么是FSO?FSO即FileSystemObject文件系统对象,是一种列表Windows磁盘目录和文件,对目录和文件进行删除、新建、复制、剪切、移动等操作的技术。使用FSO网站的好处:直接读取目录下的文件和子目录,方便维护,如需要添加任何内容,将文件放在相应的目录下即可;FSO网站类似Window......