导航:首页 > IDC知识 > java获取域名的正则

java获取域名的正则

发布时间:2020-10-27 09:13:04

1、Java正则表达验证url属于IP类型的还是域名类型的?

域名类型 因为没有解析都是域名类型

2、java中在网页源代码中匹配网址的正则表达式是什么?

简单点的可以是:

(?is)hrefs*=s*["']((?!javascript:)[^"']+)["']

提取第2个捕获组结果就是 你想要的连接。

3、java中在网页源代码中匹配这个网址的正则表达式是什么?

package test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test
{
public static void main ( String[] args )

String input = "<a href="forum.php?mod=viewthread&tid=214172&extra=page%3D1" onclick="atarget(this)" class="s xst">博士视频讲师,1小时180+</a><a href="forum.php?mod=viewthread&tid=215520&extra=page%3D1" onclick="atarget(this)" class="s xst">周日2月1日麦颂KTV唱歌交友活动通知</a>";
String regex = "(?i)href[\="'\s]+([^"']+)["']?";
Pattern pattern = Pattern.compile (regex);
Matcher matcher = pattern.matcher (input);
while (matcher.find ())
{
System.out.println (matcher.group (1));
}
}
}

4、怎样用java的正则表达式匹配这样的网址

Java中正则表达式匹配的语法规则:以下是整理出来的Java下运用正则表达式实现匹配的程序案例,代码如下:package org.luosijin.test;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 正则表达式 * @version V5.0 * @author Admin * @date 2015-7-25 */public class Regex { /** * @param args * @author Admin * @date 2015-7-25 */ public static void main(String[] args) { Pattern pattern = Pattern.compile("b*g"); Matcher matcher = pattern.matcher("bbg"); System.out.println(matcher.matches()); System.out.println(pattern.matches("b*g","bbg")); //验证邮政编码 System.out.println(pattern.matches("[0-9]{6}", "200038")); System.out.println(pattern.matches("//d{6}", "200038")); //验证电话号码 System.out.println(pattern.matches("[0-9]{3,4}//-?[0-9]+", "02178989799")); getDate("Nov 10,2009"); charReplace(); //验证身份证:判断一个字符串是不是身份证号码,即是否是15或18位数字。 System.out.println(pattern.matches("^//d{15}|//d{18}$", "123456789009876")); getString("D:/dir1/test.txt"); getChinese("welcome to china,江西奉新,welcome,你!"); validateEmail("[email protected]"); } /** * 日期提取:提取出月份来 * @param str * @author Admin * @date 2015-7-25 */ public static void getDate(String str){ String regEx="([a-zA-Z]+)|//s+[0-9]{1,2},//s*[0-9]{4}"; Pattern pattern = Pattern.compile(regEx); Matcher matcher = pattern.matcher(str); if(!matcher.find()){ System.out.println("日期格式错误!"); return; } System.out.println(matcher.group(1)); //分组的索引值是从1开始的,所以取第一个分组的方法是m.group(1)而不是m.group(0)。 } /** * 字符替换:本实例为将一个字符串中所有包含一个或多个连续的“a”的地方都替换成“A”。 * * @author Admin * @date 2015-7-25 */ public static void charReplace(){ String regex = "a+"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("okaaaa LetmeAseeaaa aa booa"); String s = matcher.replaceAll("A"); System.out.println(s); } /** * 字符串提取 * @param str * @author Admin * @date 2015-7-25 */ public static void getString(String str){ String regex = ".+/(.+)$"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); if(!matcher.find()){ System.out.println("文件路径格式不正确!"); return; } System.out.println(matcher.group(1)); } /** * 中文提取 * @param str * @author Admin * @date 2015-7-25 */ public static void getChinese(String str){ String regex = "[//u4E00-//u9FFF]+";//[//u4E00-//u9FFF]为汉字 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ sb.append(matcher.group()); } System.out.println(sb); } /** * 验证Email * @param email * @author Admin * @date 2015-7-25 */ public static void validateEmail(String email){ String regex = "[0-9a-zA-Z]+@[0-9a-zA-Z]+//.[0-9a-zA-Z]+"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(email); if(matcher.matches()){ System.out.println("这是合法的Email"); }else{ System.out.println("这是非法的Email"); } }}

5、用Java正则表达式来获取一个字符串中<>里面的内容。

String s = "dsadsadas<peter>dsadasdas<lionel>\"www.163.com\"<kenny><>";
Pattern p = Pattern.compile("(<[^>]*>)");
Matcher m = p.matcher(s);
List<String> result=new ArrayList<String>();
while(m.find()){
result.add(m.group());
}
for(String s1:result){
System.out.println(s1);
}

6、java正则表达式提取网址,标题,日期

import java.util.regex.*;
import java.util.List;
import java.util.ArrayList;
class A  {
public static void main(String[] args)  {
String htmlStr = "<li><a href="?bid=2&did=0&eid=1227">高速路上停车捡葫芦引发交通事故一人身亡</a><span>2013-09-29</span></li>";
String reg = "<li><a href="?'?(.*?)"?'?>(.*?)</a><span>(.*?)</span>";
Pattern p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(htmlStr);
List<String> url = new ArrayList<String>();
List<String> title = new ArrayList<String>();
List<String> date = new ArrayList<String>();
while(m.find()){
url.add(m.group(1));
title.add(m.group(2));
date.add(m.group(3));
}
for(int i = 0; i < url.size(); i++){
System.out.println("标题:"+title.get(i)+" 日期:"+date.get(i)+" 链接:"+url.get(i)+" ");
}
}
}

7、Java正则表达式替换URL网址

把replaceAll那段变为:

url1 = url1.replaceAll("51-d+","51-" + i);

建议把代码贴出来方便网友调试。

建议不要写像url1这种变量。

8、java正则表达式提取网址

用字符串的split方法

var ip = '127.111.1.112:8080';

var addr = ip.split(':')[0];

var port = ip.split(':')[1];

用正则

var reg=/(d{1,3}.d{1,3}.d{1,3}.d{1,3}):(d{1,4})/;

var ip = '127.111.1.112:8080';

var addr = ip.replace(reg,'$1');

var port = ip.replace(reg,'$2');

还可以间接使用字符串其他的方法,或者是数组的

9、java 正则获取 第一个匹配

Matcher matcher = p.matcher(test);
while(matcher.find()){
result.add(matcher.group())};

matcher.find()会匹配第一个结果,后续会从这里继续往后匹配

与java获取域名的正则相关的知识