⑴ Java 正則表達式 提取html超鏈接
你這個錯就錯在使用了.*
在正則里.*指的是匹配所有字元,而且是匹配優先,對於你這個正則來說到專<a\\shref=\"(http:為止都是正常的屬,但後面的.*就會一直匹配到文件的最後,因為對於.*來說是匹配所有字元,所以後面的一切都是匹配的.匹配到最後結尾時,再來進行結尾檢查,但你的正則是以</a>結尾的,不符合,所以就再回頭向回一個個的查,一直查到(.*[^>])中的.*匹配.
好了,最後你這個表達式最終的結果其實就是匹配以<a\\shref=\"(http:開頭,以[^>])</a>結尾,中間是任意字元的表達式
⑵ java超鏈接怎麼實現
對於JEditorPane,JTextPane,JTextArea,JLabel可以使用
setText("<html><A href='http://www..com'>test</A></html>")
對於JEditorPane使用
setEditorKitForContentType("text/html", new PatchedHTMLEditorKit());
addHyperlinkListener(HyperlinkListener ... );
==================寫一個例子~僅供參考====
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
public class Hyperlink extends JFrame {
public Hyperlink(){
JEditorPane jEditorPane = new JEditorPane();
jEditorPane.setEditable(false);
jEditorPane.setContentType("text/html");
jEditorPane.setText("<html><body><a href=http://www..com></a></body></html>");
jEditorPane.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
try {
String command = "explorer.exe "
+ e.getURL().toString();
Runtime.getRuntime().exec(command);
} catch (Exception ex) {
ex.printStackTrace();
System.err.println("connection error");
}
}
}
});
this.getContentPane().add(jEditorPane);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Hyperlink temp = new Hyperlink();
temp.setSize(200,200);
temp.setVisible(true);
}
}
⑶ java如何在文本中的關鍵字自動加超鏈接
將關鍵字和超鏈接做一個hashMap,key為關鍵字,value為對應的超鏈接
獲取文本的字元串,循環調版用字元串的replaceAll(str1,str2)方法,進行替權換
如:String str = "…………";//文本 Map<String,String> hash = new HashMap<String,String>();hash.put("網路",「<a ……>網路</a>」);
Set keySet = hash.keySet();
Iterator it = keySet.iterator();
while(it.hasNext()){
String key = it.next();
str.replaceAll(key,map.get(key))
}
⑷ (急)如何用java正則表達式捕獲超鏈接,能匹配雙引號或單引號.
<a.+?href
這里使用 . 通配,來? 找最小自匹配,就能實現不管<a 和href間有什麼內容都能匹配到了,有沒有樣式,相同還是不同的樣式,都沒問題。
單雙引號的問題,可以使用 [\"\'] 這種選擇模式,同時使用()括弧給括起來,以便在後面引用。
⑸ 我在javaweb中做了一個郵件驗證的功能,收到的郵件中的超鏈接不能點,好像把A標簽給我過濾掉了。
163的能點前一陣剛驗證過 沒問題的 看看你的代碼吧
⑹ java 正則表達式 去處超鏈接問題
如果blob數據的內容格式固定,你可以試試:
"</?(A|a)(\n|.)*?>"
"</?(A|a)[^>]*>"
⑺ java正則表達式 替換超鏈接之間的內容
String str2 = str.replaceAll("<img .*?</img >","圖片").replaceAll("<a.*?</a>","超鏈接");
System.out.println(str2);
⑻ Java 注釋中怎麼加入超鏈接 指向某網址
/**
*<ahref="http://www./com"></a>
*/
⑼ java如何通過超鏈接實現頁面跳轉
<a hrer="manifest.xml" targer=" ">xml sourxe<a>
<A HREF="文件名復或URL" TARGET=目標窗口 >鏈接制文本</A>
target="_blank":在新窗口中瀏覽新的頁面。
target="_self":在同一個窗口打開新的頁面。
target="_parent":在父窗口中打開新的頁面。(頁面中使用框架才有用)
target="_top" :以整個瀏覽器作為窗口顯示新頁面。(突破了頁面框架的限制)
⑽ 用java獲取除超鏈接的所有內容
publicclassCat
{
publicstaticvoidmain(String[]args)
{
Stringinput="室性<ahref="ht和諧tp://jib.xywy.com/il_sii_289.htm"target="_blank">早搏</a>(或<ahref="http://jib.xywy.com/il_sii_6913.htm"target="_blank">室性期前收縮</a>),簡稱室早,是臨床上非常常見的<ahref="http://jib.xywy.com/il_sii_259.htm"target="_blank">心律失常</a>,其發生人群相當廣泛,包括正常健康人群和各種心臟病患者。";
Stringregex="(?i)<(\s*\/\s*)?a[^>]*>";
System.out.println(input.replaceAll(regex,""));
}
}