加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式跨行非贪婪多组匹配

发布时间:2020-12-14 01:45:58 所属栏目:百科 来源:网络整理
导读:diva/divdivc/divdivf/div 找出div的内容,java代码如下: Patternp=Pattern.compile("(?s)div(.+?)/div");Strings="divrnarnbrn/divrndivrncrndrn/divrndivrnernfrn/div";Matcherm=p.matcher(s);while(m.find()){intcnt=m.groupCount
<div>

<a>

</div>

<div>

<c>

</div>

<div>

<f>

</div>


找出div的内容,java代码如下:

Patternp=Pattern.compile("(?s)<div>(.+?)</div>");

Strings="<div>rn<a>rn<b>rn</div>rn<div>rn<c>rn<d>rn</div>rn<div>rn<e>rn<f>rn</div>";

Matcherm=p.matcher(s);

while(m.find()){

intcnt=m.groupCount();

for(inti=1;i<=cnt;i++){

System.out.println(m.group(i));

}

}

1、跨行,表达式使用(?s),或Pattern.compile(,Pattern.DOTALL);2、非贪婪,Reluctant,在括号匹配组中加号后加上问号;3、多组匹配,Perl使用g标志请求恢复最后匹配丢失的匹配。此功能是由Matcher类显式提供:重复执行find方法调用可以恢复丢失的最后匹配,如代码使用while循环。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读