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;
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编程进阶】流程控制结构详解 程序流程控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。程序可以通过控制语句来对程序实现选择、循环、转向和返回等流程控制。程序控制结构包括:顺序结构、分支结构、循环结构。
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编程进阶】流程控制结构详解 程序流程控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。程序可以通过控制语句来对程序实现选择、循环、转向和返回等流程控制。程序控制结构包括:顺序结构、分支结构、循环结构。
相关文章
- (七)java类和对象
- Elasticsearch java api 基本搜索部分详解
- java: Comparable比较器,数组对象比较器
- java中异常注意的细节1
- Java实现 LeetCode 783 二叉搜索树节点最小距离(遍历)
- Java实现 LeetCode 538 把二叉搜索树转换为累加树(遍历树)
- Java实现 LeetCode 530 二叉搜索树的最小绝对差(遍历树)
- Java实现 LeetCode 211 添加与搜索单词 - 数据结构设计
- Java实现 LeetCode 108 将有序数组转换为二叉搜索树
- Java实现 LeetCode 98 验证二叉搜索树
- Java实现 LeetCode 96 不同的二叉搜索树
- Java实现 LeetCode 95 不同的二叉搜索树 II(二)
- java实现最大连续和问题
- Java实现选择排序和冒泡排序
- 【JAVA】java中char类型数组用数组名打印结果不是地址值而是数组内容
- 【JAVA】Java 异常中e的getMessage()和toString()方法的异同
- java 连接postgresql测试
- 【JAVA】 02-Java对象细节
- 【Java】java使用反射访问对象方法和成员变量
- 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数
- Atititjs javascript异常处理机制与java异常的转换.js exception process
- 当年的Java考试:JAVA&移动应用&大数据-大三-社区疫苗接种管理系统(全部源码·保姆式呵护)
- Simple Logging Facade for Java (SLF4J)作用(java日志框架)
- Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法
- java死锁(Java-level deadlock)
- Android java时间戳转年月日时分秒(三十七)
- 【java】Java 重写(Override)与重载(Overload)