用正则表达式提取网址中的IP怎样取?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用正则表达式提取网址中的IP怎样取?相关的知识,希望对你有一定的参考价值。
比如:http://10.1.1.1:8080/abcde/cdf.…… 取10.1.1.1:8080怎样取?
\\d+\\.\\d+\\.\\d+\\.\\d*\\:\\d+
import java.util.regex.*;
// 表达式对象
Pattern p = Pattern.compile("\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d*\\\\:\\\\d+");
// 创建 Matcher 对象
Matcher m = p.matcher("");
// 是否找到匹配
boolean found = m.find();
if( found )
String foundstring = m.group();
int beginPos = m.start();
int endPos = m.end();
用正则表达式提取网址的方式如下:
用ifconfig来提取
ifconfig eth0|grep "inet addr"|awk 'print $2'|awk -F: 'print $2'192.168.10.1
用ip addr来提取。
ip addr | grep -Po '[^ ]+(?=/\\d)'
没有对IP地址的有效性做检查:
<html><head>
<!--
将此内容保存为 html 文件,浏览器允许运行脚本进行测试。
-->
<script type="text/javascript">
function check()
var str;
str = document.getElementById("txtInput").value;
if (str.match(/(\\d+\\.\\d+\\.\\d+\\.\\d+:\\d+)/) != null)
alert("提取IP端口:" + RegExp.$1);
else
alert("没有提取到内容。");
</script>
</head>
<body>
输入:<input type="text" id="txtInput" value="http://10.1.1.1:8080/abcde/cdf" />
<button type="button" onclick="check()">正则检查</button>
</form>
</body>
</html>追问
用java 怎么写啊
追答没写过java,正则表达式在什么语言中都是一样的,所以你了解一下java使用正则表达式相关的用法,然后对应的正则表达式用这个去写代码:
(\d+\.\d+\.\d+\.\d+:\d+)
以上是关于用正则表达式提取网址中的IP怎样取?的主要内容,如果未能解决你的问题,请参考以下文章