正则表达式如何提取html标签里面的内容 15

<p><strong><br>Rufus</strong><br>Dan,Jenny!Overhere!</p><p><strong>Jenny</strong><br>... <p><strong><br>Rufus</strong><br>Dan, Jenny! Over here! </p>
<p><strong>Jenny</strong><br>Hey, dad! </p>
<p><strong>Rufus</strong><br>Hey, hey! You made it. Welcome back! How was your weekend? How was your mom? </p>
像这个里面的 rufus,jenny 。怎么提出来
高分求。急用
展开
 我来答
百度网友2a06c5a
推荐于2018-03-13 · TA获得超过188个赞
知道小有建树答主
回答量:133
采纳率:100%
帮助的人:98.1万
展开全部

只提取rufus,jenny?不行吧。没有规律啊。是把所有的标签内内容提取了吧。

如果是提取标签内的话这么写:
        Pattern pattern = Pattern.compile(">([^<]+)<");
       
 Matcher macher = 
pattern.matcher("<p><strong><br>Rufus</strong><br>Dan,
 Jenny! Over here! 
</p><p><strong>Jenny</strong><br>Hey, dad!
 </p><p><strong>Rufus</strong><br>Hey, 
hey! You made it. Welcome back! How was your weekend? How was your mom? 
</p>");
        
        while (macher.find())
        {
            System.out.println(macher.group(1));
        }

打印结果:
Rufus
Dan, Jenny! Over here! 
Jenny
Hey, dad! 
Rufus
Hey, hey! You made it. Welcome back! How was your weekend? How was your mom?

麻烦采纳我的答案吧,(*^__^*) 嘻嘻……
春花秋_月
2017-10-13 · TA获得超过289个赞
知道小有建树答主
回答量:273
采纳率:96%
帮助的人:108万
展开全部
function getStr(id,str){
var p = document.getElementById(id);
var text = p.innerHTML;
return text.substring(text.indexOf(str),text.indexOf(str)+str.length); 
}
alert(getStr('p1','Rufus'))
//我给第一个p元素加了一个id,是p1,其他的三个也是这样提取出来的。换个id,换个字符就行了。这是不完整的提取字符的方法。如果想较为完整一些,可以在里面加一个判断语句,如果你所搜索的字符不存在,返回一个错误或者警告什么都可以。
//我没有使用正则,根本不需要正则就可以解决了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2013-09-03 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部

你的标签貌似不太规则吧 <p><strong><br>Rufus</strong><br> 乱嵌呀 

 public void strong()
 {
  int i = 0;
  final String regex = "<strong.*?/strong>";
  final Pattern pt = Pattern.compile(regex);
  final Matcher mt = pt.matcher(ContentArea);
  while (mt.find()) {
   System.out.println(mt.group());
   i++;

   // 获取标题
   final Matcher title = Pattern.compile(">.*?</strong>").matcher(mt.group());
   while (title.find()) {
    System.out.println("strong是:"
      + title.group().replaceAll(">|</strong>", ""));
  }
   System.out.println();
  }

  
  public static void main(String[] args)
 {
  Urls myurl = new Urls("<body", "/body>");
  myurl.getStartUrl("...");//网址
  myurl.getUrlContent();
  myurl.getContentArea();
  myurl.strong();
 }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fhq198604
2015-03-19 · TA获得超过805个赞
知道小有建树答主
回答量:236
采纳率:100%
帮助的人:366万
展开全部
$str="<li><a href='xxx' target=\"_blank\">yyy</a><div class=\"i1\"></div><i>zzz</i></li><li><a href='xxx1' target=\"_blank\">yyy1</a><div class=\"i1\"></div><i>zzz1</i></li>";
$pattern='/<li><a[^>]+href=\'([^\']*)\'[^>]*>([^<]*)<\/a>.*<i>([^<]*)<\/i><\/li>/iUs';
preg_match_all($pattern, $str, $matches);
print_r($matches);

看下可以不,解析出来的数组应该知道怎么解吧!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱出汗_orz
2017-08-26
知道答主
回答量:28
采纳率:100%
帮助的人:6.1万
展开全部
思路:先解析html文件,可以用digester等第三方包。
想直接用正则表达式,不建议。
正则用的更多是校验格式,例如邮箱格式等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式