導航:首頁 > 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獲取域名的正則相關的知識