Java 正则表达式常用惯例

1,判断字符串是否是HTML页面

 

Java代码  Java 正则表达式常用惯例
  1. /*** 
  2.      * 判断是否是HTML 网页 
  3.      * @param input 
  4.      * @return 
  5.      */  
  6.     public static boolean isHTMLWebPage(String input){  
  7.         if(ValueWidget.isNullOrEmpty(input)){  
  8.             return false;  
  9.         }  
  10.         return input.matches(".*<html[\\s\\w'\"=]*>.*");  
  11.     }  

 应用:

Java代码  Java 正则表达式常用惯例
  1. @Test  
  2.     public void test_isHTMLWebPage(){  
  3.         String input="a<html><head><title>";  
  4.         System.out.println(RegexUtil.isHTMLWebPage(input));  
  5.     }  
  6.   
  7.  ComponentUtil.appendResult(resultTextPane, "返回的状态码:" + respCode, true);  
  8.                 if(!ValueWidget.isNullOrEmpty(responseJsonResult)&&RegexUtil.isHTMLWebPage(responseJsonResult)){  
  9.                     //弹出框显示HTML  
  10.                     CustomDefaultDialog customDefaultDialog=new CustomDefaultDialog(responseJsonResult,"显示HTML",true);  
  11.                     customDefaultDialog.setVisible(true);  
  12.                 }  

 

 

 

2,把换行的段落当做字符串拼接

 

Java代码  Java 正则表达式常用惯例
  1. /*** 
  2.      * 把换行的段落当做字符串拼接 
  3.      * @param input 
  4.      * @param cr 
  5.      * @param quote 
  6.      * @return 
  7.      */  
  8.     public static String splitPlus(String input,String cr,String quote){  
  9.         String chinese;  
  10. //      String quote="\"";  
  11.         String replacement=quote+" +$1"+quote+"$2";  
  12.         String regex="[\\s]*([^\\s]+.*)";  
  13.         input=input.replace(quote, "\\"+quote);//原字符串转义  
  14.           
  15.         if(cr.equals("\\r\\n")){  
  16.             chinese=input.replaceAll("(\r\n)"+regex, replacement);  
  17.         }else if(cr.equals("\\n")){  
  18.             chinese=input.replaceAll("(\n)"+regex, replacement);  
  19.         }else if(cr.equals("\\r")){  
  20.             chinese=input.replaceAll("(\r)"+regex, replacement);  
  21.         }else{  
  22.             chinese=input.replaceAll("(\n\r)"+regex, replacement);  
  23.         }  
  24.         return quote+chinese+quote+";";  
  25.     }  

 应用:

 


Java 正则表达式常用惯例
 
Java 正则表达式常用惯例
 源代码见附件:

下载地址:http://pan.baidu.com/s/1sjy1ceT

参考:java swing 工具箱:http://hw1287789687.iteye.com/blog/2251439

3,java 模拟linux中sed

 

Java代码  Java 正则表达式常用惯例
  1. /*** 
  2.      * __showLog=True -->__showLog=false 
  3.      * @param source 
  4.      * @param regex : 正则表达式 
  5.      * @param replacement 
  6.      * @return 
  7.      */  
  8.     public static String sed(String source,String regex,String replacement){  
  9.         Pattern p=Pattern.compile(regex,Pattern.MULTILINE);  
  10.         Matcher m=p.matcher(source);  
  11.         String result = m.replaceAll(replacement);  
  12.         return result;  
  13.     }  
  14.     /*** 
  15.      * 模拟linux 的sed 功能 
  16.      * <br>将关闭输出流 
  17.      * @param source 
  18.      * @param regex : 正则表达式 
  19.      * @param replacement 
  20.      * @return 
  21.      */  
  22.     public static String sed(File source,String regex,String replacement){  
  23.         String input=null;  
  24.         try {  
  25.             input = FileUtils.getFullContent2(source, SystemHWUtil.CHARSET_UTF);  
  26.             input=sed(input, regex, replacement);  
  27.             FileUtils.writeStrToFile(source, input, false);  
  28.         } catch (IOException e) {  
  29.             e.printStackTrace();  
  30.         }  
  31.         return input;  
  32.     }  

 应用:
Java 正则表达式常用惯例
 4,删除每行前面的数字

Java代码  Java 正则表达式常用惯例
  1. /*** 
  2.      * 删除每行前面的数字 
  3.      * @param input 
  4.      * @return 
  5.      */  
  6.     public static String deleteDigit(String input) {  
  7.         if(ValueWidget.isNullOrEmpty(input)){  
  8.             return null;  
  9.         }  
  10.         Pattern p = Pattern.compile("^[\\d]+[,:]?[\\s]*",Pattern.MULTILINE);  
  11.         Matcher m = p.matcher(input);  
  12.         String result = m.replaceAll(SystemHWUtil.EMPTY);  
  13.         return result;  
  14.     }  

 应用:

Java代码  Java 正则表达式常用惯例
  1. @Test  
  2.     public void test_deleteDigit(){  
  3.         String input;  
  4.         try {  
  5.             input = FileUtils.getFullContent3(new File("e:\\tmp\\testdigit.txt"), SystemHWUtil.CHARSET_CURR).toString();  
  6.             System.out.println(RegexUtil.deleteDigit(input));  
  7.         } catch (IOException e) {  
  8.             e.printStackTrace();  
  9.         }  
  10.           
  11.           
  12.     }  

 

5,模板sed的参数y

Java代码  Java 正则表达式常用惯例
  1. /*** 
  2.      *  
  3.      * @param source 
  4.      * @param arrFrom 
  5.      * @param arrTo 
  6.      * @return 
  7.      */  
  8.     public static String sedY(String source,String[] arrFrom,String[] arrTo){  
  9.         if(ValueWidget.isNullOrEmpty(source)){  
  10.             return SystemHWUtil.EMPTY;  
  11.         }  
  12.         int length=arrFrom.length;  
  13.         for(int i=0;i<length;i++){  
  14.             String tmp=arrFrom[i];  
  15.             if(source.equals(tmp)){  
  16.                 return arrTo[i];  
  17.             }  
  18.         }  
  19. //      return SystemHWUtil.EMPTY;  
  20.         throw new RuntimeException("can not find");  
  21.     }  

 应用:

Java代码  Java 正则表达式常用惯例
  1. @Test  
  2.     public void test_sedY(){  
  3.         String base[]=new String[]{"a","bc","c","d"};  
  4.         String result=RegexUtil.sedY("a", base, new String[]{"1a","2b","3c","4d"});  
  5.         System.out.println(result);  
  6.     }  

 

相关文章: