1、Java正则表达验证url属于IP类型的还是域名类型的?
域名类型 因为没有解析都是域名类型
2、java中在网页源代码中匹配网址的正则表达式是什么?
简单点的可以是:
(?is)hrefs*=s*["']((?!javascript:)[^"']+)["']提取第2个捕获组结果就是 你想要的连接。
3、java中在网页源代码中匹配这个网址的正则表达式是什么?
package test;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()会匹配第一个结果,后续会从这里继续往后匹配