zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java处理字符串搜索嵌套结构的方法

JAVA搜索方法 处理 字符串 结构 嵌套
2023-09-11 14:20:35 时间
pre name="code"  div abcd div /div form input type=button value=submit/ /form /div pre name="code"  和1234。
    String nstag = stag.replaceAll("([\\*\\.\\+\\(\\]\\[\\?\\{\\}\\^\\$\\|\\\\])", "\\\\$1");  
    String netag = etag.replaceAll("([\\*\\.\\+\\(\\]\\[\\?\\{\\}\\^\\$\\|\\\\])", "\\\\$1");              String reg = "((?:"+nstag+")|(?:"+netag+"))";              Pattern p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE|Pattern.MULTILINE);              Matcher m = p.matcher(data);              while(m.find()){  
                throw new RuntimeException("pos "+t.getBeginPos()+" tag not match start tag.");               }               Tag otag = work.pop();               // 如果栈为空,则匹配              if (work.empty()){                   String sub = data.substring(otag.getEndPos(), t.getBeginPos());                   result.add(sub);               }           }                  }              // 如果此时栈不空,则有不匹配发生      if (!work.empty()){           Tag t = work.pop();           throw new RuntimeException("tag "+t.getValue()+ "not match.");       }              return result;         

函数返回节点之间内容串组成的列表。

例如 调用 get(data," div ", " /div ") 返回含有两个元素的列表,元素分别为

div abcd div /div form input type=button value= / /form /div , 1234

需要注意的是如果节点含有正则表达式的元字符,需要在元字符前加转义符\\,源代码中第16,17行实现此功能。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/


Java小白翻身教程-链表结构与编译大法(3) D盘下面的tool文件夹已经有三个工具类了(其实是两个,CustNode是为了TuziLinkedList服务的),我们这一节来进行打包,这样的好处就是不用每次编译都把tool里面的类也带上了。
java-基本程序设计结构序设计结构 基本数据类型 public class Main { public static void main(String[]args) { // 2进制表示--10进制为3 System.out.println(0b0011); // 16进制表示--10进制为14 System.out.println(0xe); // 8进制表示--10进制为8 System.out.println(010); // 可以在数字中加下划线便于阅读 System.out.prin
【Java编程进阶】流程控制结构详解 程序流程控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。程序可以通过控制语句来对程序实现选择、循环、转向和返回等流程控制。程序控制结构包括:顺序结构、分支结构、循环结构。