java - 使用 Java 正则表达式匹配重复的 HTML 模式

标签 java regex

可能有人之前问过这个问题,但我找不到解决方案,所以发布这个问题。

我需要解析下面的 HTML 字符串来查找每个项目的 ID、时间和主题:

<div class="list" id="1">
  <div class="time">12:01 PM</div>
  <div class="subject">[This is dummy Subject1] This is some dummy strings after subject</div>
<div/>
<div class="list" id="2">
  <div class="time">12:01 PM</div>
  <div class="subject">[This is dummy Subject2] This is some dummy strings after subject</div>
<div/>
<div class="list" id="3">
  <div class="time">12:01 PM</div>
  <div class="subject">[This is dummy Subject3] This is some dummy strings after subject</div>
<div/>

输出需要类似于:id|time|subject

最佳答案

请参阅此处的演示 https://regex101.com/r/fN1fZ0/1

var re = /.*?id="(.*?)".*?time">(.*?)<\/.*?subject">\[(.*?)\].*?|.*$/gs; 
var subst = '$1|$2|$3\n'; 

var result = str.replace(re, subst);

关于java - 使用 Java 正则表达式匹配重复的 HTML 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29231105/

相关文章:

python - 如何在python中找到特殊字符之间的字符串?

python - 仅替换偶数次 re.sub() - Python 正则表达式

javascript - 意外的 JavaScript 行为问题

java - JUnit 4导入一类测试用例(用于功能测试)

java - 为什么这个 Java parseInt 十六进制字符串会导致 NumberFormatException?

java - 为什么在创建对象的引用时可以使用接口(interface)作为类型?

带有后缀的简单键值对的 Java 正则表达式

Android busybox sed : bad option in substitution expression

java - 隐藏 SD 卡为只读

Java:for(;;) 与 while(true)