ipv6正则表达式 java,用正则表达式解析IPv4跟IPv6地址字符串
用正则表达式解析IPv4和IPv6地址字符串
以下是经过我的.net C# 代码百般测试的,绝对经得住考验!
IPv4[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
IPv6
((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:)))(%.+)?
ipv4 | ipv6 (this is good based on test)
([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})|(((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:)))(%.+)?)
测试代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
namespace RegExTester
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Parse(txtStringToBeParsed.Text);
}
void Parse(String inputString)
{
Regex r;
Match m;
Int32 startpos = 0, len = 0;
bool IsFirst;
string rstr = txtPatten.Text;
//string rstr = "href\\s*=\\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))";
//"(?
r = new Regex(rstr,
RegexOptions.IgnoreCase | RegexOptions.Compiled);
IsFirst = true;
txtParseResult.Text = "";
for (m = r.Match(inputString); m.Success; m = m.NextMatch())
{
if (IsFirst == true)
{
startpos = m.Groups[1].Index;
len = m.Groups[1].Length;
IsFirst = false;
}
//textBox2.Text = textBox2.Text +
//"Found : " + m.Groups[1].Value + " at "
// + m.Groups[1].Index + " with length " + m.Groups[1].Length + "\r\n"
// + "Whole: " + m.Value + "\r\n";
txtParseResult.Text = txtParseResult.Text + "[" + m.Value +"]" + "\r\n";
}
//select the first match string
txtStringToBeParsed.Select(startpos, len);
txtStringToBeParsed.Focus();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
1楼mhmyqn昨天 17:27[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}n255.277.888.999n这个也是合法的IPV4地址吗?
ipv6正则表达式 java,用正则表达式解析IPv4跟IPv6地址字符串相关推荐
- java http ipv6_如何在Java上同时支持IPv4和IPv6
小编典典 我怀疑这不是Java编程问题,而是OS网络堆栈/ OS网络配置问题: 在某些操作系统上,单个本机TCP套接字可以同时侦听IPv4和IPv6上的端口.它能够接受来自远程IPv4和远程IPv6客 ...
- java ipv4和ipv6通信_IPv4和IPv6的差异;如何实现IPv4和IPv6双协议栈的通信
1 IPv4和IPv6的差异 1.1 地址空间 IPv6 与 IPv4 比较最显著的一个改动就是使用 128 比特上的地址来代替了 32 比特长的 IPv4 地址. IPv6 中取消了广播地址, 其功 ...
- 计算机网络ipv4到ipv6怎么实现,论计算机网络协议IPV4到IPV6的过渡策略|房屋搬迁过渡协议...
摘要:近年来IPV4协议的网络地址问题已经成为阻碍互联网发展的主要矛盾,而互联网的发展趋势将证明IPV4协议必将会被IPV6协议所替代,但其过渡的过程必定是艰难而漫长的.本文论述了IPV4协议存在的主 ...
- 在家上用宽带IPv6网站,下载六维,IPv4 to IPv6
家里的电信还没有通IPv6,突然想去六维上面下几部电影(其实想看一下最近的新片出了没有). 有一些现成的软件就可以使用,但是我总觉的这样不够好,至少要略略知道一点点原理的好. 现成的软件包括 六飞 h ...
- IPv6之初使用,及IPv4与IPv6的socket通信
1.IPv6概念 IPv6是InternetProtocol Version 6的缩写.IPv6是IETF(互联网工程任务组,InternetEngineering Task Force)设计的用于替 ...
- 为什么不使用ipv6计算机网络,细说计算机网络中的ipv4和ipv6
在windows 7以上系统中,在设置本地IP地址的时候经常会看到同事含有IPV4协议项与IPV6协议项,并不同于以往windows xp系统中仅有TCP/IP协议项,不少人都觉得比较奇怪,IPv4与 ...
- JAVA:正则表达式(入门)
JAVA:正则表达式(入门) 正则表达式 JAVA:正则表达式(入门) 前言 正则的作用 正则的符号含义 正则表达式在字符串中的常用方法 正则表达式对象Pattern(爬虫) 贪婪爬取与非贪婪爬取 捕 ...
- ipv6 java代码影响_浅谈IPv4至IPv6演进的实施路径
作者:个推运维平台网络工程师 宗堂 1 业务背景 在互联网呈现爆炸式发展的今天, IPv4网络地址数量匮乏等问题将会影响到我国的互联网发展与应用,制约物联网.5G等新业务开展.今年4月国家工信部发布了 ...
- java中http解析url,java url 编码(解析http请求汉语言地址 )
java url 编码(解析http请求中文地址 ) 在近在做项目的过程中,由于客户那边服务器上提供的有很多中文结构目录.请求要的地址不能正常运行显示出来.下面来分享一下我对http协议处理请求中文的 ...
最新文章
- 文件列表出现分页按钮
- 如何使用机器学习进行异常检测和状态监控?
- mongo 改字段名_一日一技:修改MongoDB集合中的字段名
- Mangos源码分析(2):服务器结构探讨之登录服的负载均衡
- java radio_java radioButton
- axios 请求接口获取文件流数据导出数据到excel,解决乱码
- 计算机主机前后,Win10电脑主机前面的耳机插口没声音怎么办?前置面板插孔没声音...
- 整理了 25 个 Python 文本处理案例,收藏!
- LeNet识别眼疾iChallenge-PM
- 密码破解---John the Ripper使用
- Android实现九宫格图片控件
- MOBA游戏草丛系统的个人思路
- 声音和音频设备属性无法设置
- 全网最全ebay大数据面经合集
- 云队友丨在注意力稀缺的时代,专注是你成败的关键筹码
- IOS原生生成二维码
- 王兴的无限游戏和美团的三维文明世界|一点财经
- Codevs 2382 挂缀
- Java毕设项目电商平台客流统计系统(java+VUE+Mybatis+Maven+Mysql)
- dpo指标详解买入绝技_雷霆一击战法买入及卖出方法的相关介绍
热门文章
- iic总线从机仲裁_IIC协议底层原理超详细解析!示波器,逻辑分析仪多图预警
- 每日小记 2017.6.29
- 【英语学习】【WOTD】resuscitate 释义/词源/示例
- nginx反向代理配置去除前缀
- tomcat 如何跳转到apache_第二十期:基于tomcat部署jforum站点,并结合nginx实现动静分离...
- python距离向量路由算法_互联网中常用路由协议,路由协议基础,一分钟了解下...
- matlab中ode45函数的用法_带你理解Excel中COUNTIF函数的简单用法
- Java:实验四第6题
- 基于微型计算机系统的实时时钟设计,基于51单片机的实时时钟设计报告.doc
- Performance Optimization for Mobile Devices