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

<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 。怎么提出来
高分求。急用

只提取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?

麻烦采纳我的答案吧,(*^__^*) 嘻嘻……

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-13
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,换个字符就行了。这是不完整的提取字符的方法。如果想较为完整一些,可以在里面加一个判断语句,如果你所搜索的字符不存在,返回一个错误或者警告什么都可以。
//我没有使用正则,根本不需要正则就可以解决了。

第2个回答  2013-09-03

你的标签貌似不太规则吧 <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();
 }

本回答被网友采纳
第3个回答  2015-03-19
$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);

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

第4个回答  2017-08-26
思路:先解析html文件,可以用digester等第三方包。
想直接用正则表达式,不建议。
正则用的更多是校验格式,例如邮箱格式等。

正则表达式匹配HTML标签之间的内容
假如html标签里面有一句:String a = "<style type=\\"text\/css\\"> div \\n" + "{ margin: 0; padding: 0; outline: 0; }<\/style>";我如何把这一句取出来呢,包括标签。用正则表达式:<style([\\\\s\\\\S]*)<\/style>

正则表达式获取html标签
方法1:var d = document.createElement("div");d.innerHTML = '<tr><td class="ppprod_lefttd ppprod_cell">上次余额:<\/td><td class="ppprod_confirm ppprod_cell" id=""><span name="item22" id="item22" delim="" class="" >114.74<\/span> <\/td><\/tr>';alert(d.getElem...

php正则表达来获取html中的部分内容
说明:int preg_match ( string pattern, string subject [, array matches [, int flags]] )在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。 返回值0或1。(3)preg_replace -- 执行正则表达式的搜索和替换 (4)preg_split -- 用正则表达式分割字符串 2. 一般来说,如果...

VB正则表达式提前html标签内容
如果你不需要查找多个对象,就把函数参数修改为TargeText,函数内部作相应的修改,如TargetRange.Text改为TargeText等等。

java 如何利用正则表达式只保留html里面的<p><\/p>标签里面的内容
正则表达式:<p.*?>(.*?)<\/p> group(1)为正文内容。输出时加上\\n就行了 import java.util.regex.*;public class Test{ public static void main(String[] args){ String str="<p style=\\"font-size:1.3em;font-weight:bold\\">No page with that title exists.<\/p> ";String regex=...

C# 正则表达式提取html中的文本
static void Main(string[] args){ String s = @"<Body> <div>这里是要取出的文本A <img src=""\/>这里是要取出的文本B <a href="">超链接里的文本不取出 <\/a>这里是要取出的文本C <\/div> <body>";Regex regex = new Regex( "(\/?\\\\w+)[^>]*>([^<]*)<", RegexOptions....

如何用Python提取网页标签中的文本信息?
提供两种思路 仅供参考:一、使用内置的正则表达式 Python代码 import reregex1 = r"<a[^>]+?>(.+?)<\/a>"regex2 = r"\/span>([\\s\\S]+?)<"html = ("<div class=\\"question\\">\\n""<span><a class=\\"normal\\" name=\\"question-2c26d7bd-90c1-415a-b881-2c560414340b\\">1...

如何获取html页面的所有文字
<SCRIPT LANGUAGE="vbScript"> dim str str="怎样从一个Html页面中提取所有汉字呢?不能有其它Html代码。"alert RegExpTest("[\一-\龥]",str)Function RegExpTest(patrn, strng)Dim regEx, Match, Matches ' 建立变量。Set regEx = New RegExp ' 建立正则表达式。regEx.Pattern = ...

如何使用java的正则表达式提取html标签
提取"<title>XXXX<\/title>"中的文字XXXX paramhtml要解析的html文档内容 return解析结果,可以多次匹配,每次匹配的结果按文档中出现的先后顺序添加进结果List \/ publicstaticListgetContext(Stringhtml){ ListresultList=newArrayList();Patternp=Pattern.compile("<title>([^<\/title>]*)");\/\/匹配<...

如何用正则表达式去掉html标签
用正则表达式去掉html标签,下面是它的代码,直接复制就可以用的。代码:public static string StripHTML(string HTML) \/\/google "StripHTML" 得到 { string[] Regexs = { "<script[^>]*?>.*?<\/script>","<(\\\/\\s*)?!?((\\w+:)?\\w+)(\\w+(\\s*=?\\s*(([""'])(\\\\[""'tbnr]|...

相似回答