正则表达式它忽略第一个标签



我想过滤两个标签之间的任何内容,但它跳过了第一个标签,我不知道该怎么办。

这是我的原始字符串:

<!--ENTEXPERTCOMMENT--><divid="comments-counts"><divclass="display-post-wrapperpageno-titlepageno-title-counter"id="comment-counter"><spanclass="title"><iclass="icon-header-badge3chat"></i>14ความคิดเห็น</span><divclass="pageno-title-line"></div></div></div><divid="comments-jsrender"><divclass="display-post-status-leftside"><spanclass="display-post-number"id="comment12-1">ความคิดเห็นที่12-1</span><divclass="display-post-edit"><divclass="display-post-edit-wrapper"><ahref="javascript:void(0);"data-06"href="javascript:void(0);"><imgclass=""src="/images/emotions/icon-emotion-wow.gif"><spanclass="label">ทึ่ง</span></a><spanclass="emotion-choice-score">0</span></div><divclass="emotion-vote-usersmall-txt-fixed"style="display:none;"></div></div></div></div></div></div></div><!--barloadmoreส่วนล่าง--><!--default--><!--สำหรับแทรกฟอร์ม--><divclass="comment-80761053form"></div></div><divclass="l-end"id="comments-ed-2"></div><divclass="display-post-wrapperpageno-titlepageno-title-counter"data-refzcomment="P0"><spanclass="title"><iclass="icon-header-badge3comment"></i>แสดงความคิดเห็น</span><divclass="pageno-title-line"></div></div><scriptlanguage="Javascript"src="/ads.php?position=cafe:skin:supachalasai"></script>

这是我正在使用的regex命令。

(?<=<spanclass="title"><iclass="icon-header-badge3chat"></i>)(.*)(?=</span><divclass="pageno-title-line"></div></div>)

我必须使用正则表达式才能得到这个。

14ความคิดเห็น

但这就是我得到的。

14ความคิดเห็น</span><divclass="pageno-title-line"></div></div></div><divid="comments-jsrender"><divclass="display-post-status-leftside"><spanclass="display-post-number"id="comment12-1">ความคิดเห็นที่12-1</span><divclass="display-post-edit"><divclass="display-post-edit-wrapper"><ahref="javascript:void(0);"data-06"href="javascript:void(0);"><imgclass=""src="/images/emotions/icon-emotion-wow.gif"><spanclass="label">ทึ่ง</span></a><spanclass="emotion-choice-score">0</span></div><divclass="emotion-vote-usersmall-txt-fixed"style="display:none;"></div></div></div></div></div></div></div><!--barloadmoreส่วนล่าง--><!--default--><!--สำหรับแทรกฟอร์ม--><divclass="comment-80761053form"></div></div><divclass="l-end"id="comments-ed-2"></div><divclass="display-post-wrapperpageno-titlepageno-title-counter"data-refzcomment="P0"><spanclass="title"><iclass="icon-header-badge3comment"></i>แสดงความคิดเห็น

我该如何解决这个问题?

我刚刚在正则表达式中添加了一个问号:(.*) ==> (.*?)

(?<=<spanclass="title"><iclass="icon-header-badge3chat"></i>)(.*?)(?=</span><divclass="pageno-title-line"></div></div>)

它奏效了。

演示

解释:

  • .*?在零次和无限次之间匹配上一个令牌,作为尽可能少地进行扩展(懒惰(

相关内容

最新更新