📄 mytest.java
字号:
package com.bcxy.bbs.filter;
/**
* Title:
* Description:
* Copyright:
* Company: www.liyunet.com
*
* @author lishujiang
* @version 1.0
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class myTest {
public static void main(String[] args) throws Exception {
String s = "url test of ubbtag like [url]nic.biti.edu.cn[/url]"
+ " and [URL]http://mail.biti.edu.cn[/URL] and [url=file_download.jsp]test[/url] and [url=www.liyunet.com]test[/url]and so on use regex";
Pattern p = Pattern
.compile(
"(\\[(URL)((=(((http://)|(ftp://))?)([^\\[]*))?)\\])((((http://)|(ftp://))?)([^\\[]*))(\\[(\\/URL)\\])",
Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(s);
StringBuffer sb = new StringBuffer();
boolean result = m.find();
while (result) {
for (int i = 0; i < m.groupCount(); i++)
System.out.println("m.group(" + i + ") = " + m.group(i));
m.appendReplacement(sb, "<a href=\"");
if (!"".equals(m.group(3))) {
if ("".equals(m.group(5))){
if (m.group(10) == null){
sb.append("http://" + m.group(9) + "\" target=_blank>"
+ m.group(9) + "</a>");
}else{
sb.append("" + m.group(9) + "\" target=_blank>"
+ m.group(10) + "</a>");
}
}else if (m.group(10) == null){
sb.append(m.group(5) + m.group(9) + "\" target=_blank>"
+ m.group(5) + m.group(9) + "</a>");
}else{
sb.append(m.group(5) + m.group(9) + "\" target=_blank>"
+ m.group(10) + "</a>");
}
} else {
if ("".equals(m.group(11)))
sb.append("http://" + m.group(10) + "\" target=_blank>"
+ m.group(10) + "</a>");
else
sb.append(m.group(10) + "\" target=_blank>" + m.group(10)
+ "</a>");
}
result = m.find();
}
m.appendTail(sb);
System.out.println(sb.toString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -