我想过滤两个标签之间的任何内容,但它跳过了第一个标签,我不知道该怎么办。
这是我的原始字符串:
<!--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>)
它奏效了。
演示
解释:
- .*?在零次和无限次之间匹配上一个令牌,作为尽可能少地进行扩展(懒惰(