Java 正则表达式常用惯例
1,判断字符串是否是HTML页面
?
/***
* 判断是否是HTML 网页
* @param input
* @return
*/
public static boolean isHTMLWebPage(String input){
if(ValueWidget.isNullOrEmpty(input)){
return false;
}
return input.matches(".*<html[\\s\\w‘\"=]*>.*");
}
?应用:
@Test
public void test_isHTMLWebPage(){
String input="a<html><head><title>";
System.out.println(RegexUtil.isHTMLWebPage(input));
}
ComponentUtil.appendResult(resultTextPane, "返回的状态码:" + respCode, true);
if(!ValueWidget.isNullOrEmpty(responseJsonResult)&&RegexUtil.isHTMLWebPage(responseJsonResult)){
//弹出框显示HTML
CustomDefaultDialog customDefaultDialog=new CustomDefaultDialog(responseJsonResult,"显示HTML",true);
customDefaultDialog.setVisible(true);
}
?
?
?
2,把换行的段落当做字符串拼接
?
/***
* 把换行的段落当做字符串拼接
* @param input
* @param cr
* @param quote
* @return
*/
public static String splitPlus(String input,String cr,String quote){
String chinese;
// String quote="\"";
String replacement=quote+" +$1"+quote+"$2";
String regex="[\\s]*([^\\s]+.*)";
input=input.replace(quote, "\\"+quote);//原字符串转义
if(cr.equals("\\r\\n")){
chinese=input.replaceAll("(\r\n)"+regex, replacement);
}else if(cr.equals("\\n")){
chinese=input.replaceAll("(\n)"+regex, replacement);
}else if(cr.equals("\\r")){
chinese=input.replaceAll("(\r)"+regex, replacement);
}else{
chinese=input.replaceAll("(\n\r)"+regex, replacement);
}
return quote+chinese+quote+";";
}
?应用:
?

?
?源代码见附件:
下载地址:http://pan.baidu.com/s/1sjy1ceT
参考:java swing 工具箱:http://hw1287789687.iteye.com/blog/2251439
3,java 模拟linux中sed
?
/***
* __showLog=True -->__showLog=false
* @param source
* @param regex : 正则表达式
* @param replacement
* @return
*/
public static String sed(String source,String regex,String replacement){
Pattern p=Pattern.compile(regex,Pattern.MULTILINE);
Matcher m=p.matcher(source);
String result = m.replaceAll(replacement);
return result;
}
/***
* 模拟linux 的sed 功能
* <br>将关闭输出流
* @param source
* @param regex : 正则表达式
* @param replacement
* @return
*/
public static String sed(File source,String regex,String replacement){
String input=null;
try {
input = FileUtils.getFullContent2(source, SystemHWUtil.CHARSET_UTF);
input=sed(input, regex, replacement);
FileUtils.writeStrToFile(source, input, false);
} catch (IOException e) {
e.printStackTrace();
}
return input;
}
?应用:
?
原文:http://hw1287789687.iteye.com/blog/2254199