基礎アルゴリズム7:正規抽出ページのaラベルのリンクとタイトルを使用する


テストコードを解放してから、いくつかのキーを簡単に説明します.
package test;

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

public class Test1 {

	public static void main(String[] args) {
		String str1 = "Hello World";
		String str2 = "123";
		String str3 = " c";
		String str4 = "  ";
		String str5 = "2015クリスマス  コード[  +C ]New";
		
		Pattern pattern = Pattern.compile("(.+)");  
		Matcher matcher = pattern.matcher(str1);
		if(matcher.find()){
			String link = matcher.group(1).trim();
			String title = matcher.group(3).trim();
			if(!link.startsWith("http")){
				if(link.startsWith("/"))
					link = "http://www.zifangsky.cn" + link;
				else 
					link = "http://www.zifangsky.cn" + link;	
			}
			System.out.println("link: " + link);
			System.out.println("title: " + title);
		}
		
		
		

	}

}

説明:
1代表的なaラベルスタイルをいくつか選択してテスト
2正規一致モード(.+)についての説明:
i)href= 
ii)[\”‘]?((https?://)?/? 1つまたは0つの「または」、そして0つまたは1つのhttp://またはhttps://に続いて、0つまたは1つの/について
iii)[^」']++は、1つ以上の含まない'または"を表す任意の文字
iv)[\”‘]?リンクの後ろを表す「または」はもちろんないかもしれません.
后ろのは前の自分で推理することができて、解釈しません
3 matcher.group(1)は取り出しリンク、すなわち2番目()の内容(PS:1番目()は正規表現全体を表し、デフォルトでは省略)を表し、正規ではこのルール:((https?//)?/?[^\”‘]+)
4 matcher.group(3)同様に,この規則に対応する:(.+)
5コードのhttp://www.zifangsky.cnこれは、href='12/hack-30127のような部分的なリンクが相対パスを使用するためである.htm’ .この場合、ドメイン名を追加する必要があります.もちろん、実際の状況に応じて追加する必要があります.ここは勝手に追加しました