正则表达式 之过滤注释

阅读更多

使用java 正则表达式如何过滤掉注释呢?
正则表达式 之过滤注释_第1张图片
 如上图所示,如何去掉注释呢?

@Test
	public void test_deleteCommen(){
		String input="ba";
		System.out.println(input.replaceAll("", ""));
	}

 运行结果:

 达到预期效果了.

但是

@Test
	public void test_deleteCommen(){
		String input="ba";
		System.out.println(input.replaceAll("", ""));
	}

 运行结果:

 没有达到预期的结果,为什么呢?因为注释中多了>

如何解决呢?

 

@Test
	public void test_deleteComment2(){
		String input="ba";
		String regex="")+"-->";
		System.out.println(input.replaceAll(regex, ""));
	}

 运行结果:

ba

达到预期了.

方法otherwise22 的实现如下:

/***
	 * 不包含
	 * @param regex
	 * @return
	 */
	public static String otherwise22(String regex){
		int length=regex.length();//共有length * length种情况
		String[][] arr2=new String[length][];
		for(int i=0;i list33=assemble(arr2,true);
		int length22=list33.size();
		StringBuffer sbu=new StringBuffer("(");
		for(int i=1;i cc(String[][] aa,int index,List list,boolean isDealRegex){
		
		if(index>=aa.length){//说明已经遍历完成
			return list;//并不是每次循环都会执行,最后才会执行此语句.
		}
		String cc[]=aa[index];
		int length=cc.length;
		List listNew=new ArrayList();
		if(list==null||list.size()==0){//首次循环
			for(int i=0;i list33=cc(aa, ++index, listNew,isDealRegex);
		if(!ValueWidget.isNullOrEmpty(list33)){
			return list33;
		}
		return null;
	}
	/***
	 * 组合
	 * @param aa
	 * @return
	 */
	public static Listassemble(String[][] aa,boolean isDealRegex){
		return cc(aa, 0, null,isDealRegex);
	}

 

 源代码见附件io0007-find_progess-0.0.8.5-SNAPSHOT-sources.jar

 

  • 正则表达式 之过滤注释_第2张图片
  • 大小: 52.4 KB
  • 正则表达式 之过滤注释_第3张图片
  • 大小: 9.1 KB
  • 正则表达式 之过滤注释_第4张图片
  • 大小: 10.2 KB
  • io0007-find_progess-0.0.8.5-SNAPSHOT-sources.jar (203.1 KB)
  • 下载次数: 0
  • 查看图片附件

你可能感兴趣的:(过滤注释,删除注释,java正则表达式,regex,otherwise)