`
lym6520
  • 浏览: 704112 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

正则表达式 匹配html标签table

阅读更多
首先,要匹配任意内容“.”是不行的,因为不匹配“\n”,取不到想要的内容,所以有了如下表达式:
    [\s\S]*

当然,你也可以用 “[\d\D]*”、“[\w\W]*” 来表示。

现在我们来匹配一个html标签,匹配table如下:

<table.*?>[\s\S]*<\/table>

<table.*?>[\s\S]*?<\/table>

以上两个表达式,一个加了"?"和一个却不加“?”,那么这有什么区别呢?
我们知道“?”在正则表达式里是一个通配符:匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。

在这里,通过测试,我们得出这样的结论:在不加“?”的情况下,在匹配下面一段内容的时候:

<table>这是第一个table</table>
我不是table里的内容
<table>这是第二个table</table>
我也不是table里的内容
<table>这是第三个table</table>

会把以<table>开始,</table>结束的内容都匹配出来,如图:


加了“?”之后,只匹配第n个匹配的内容,如图:


以上的测试结果可以点击这里进行测试。
  • 大小: 9.8 KB
  • 大小: 9.8 KB
1
0
分享到:
评论
3 楼 lym6520 2013-06-09  
获取匹配的内容
 String str = "ID=${ID}";
        Pattern p = Pattern.compile("\\$\\{(.*?)\\}");
        Matcher m = p.matcher(str);
        ArrayList<String> strs = new ArrayList<String>();
        while (m.find()) {
            strs.add(m.group(1));
        }
        for (String s : strs){
            System.out.println(s);
        }
2 楼 zk1878 2012-07-21  
这种方法碰到嵌套的就歇菜了
1 楼 lym6520 2010-03-18  
获取匹配内容
	var strXml="a{1}bcde{2}fg";
	var regExp=/.*?\{(.*?)\}.*?/gi;
	//exec返回一个数组对象
	var arr = regExp.exec(strXml);
	while(arr != null){
		alert(arr[1]);
		arr=regExp.exec(strXml);
	}

相关推荐

    经典JavaScript正则表达式实战

    对HTML源代码的处理,如给源代码中的标签或属性添加双引号,给table添加tbody,去掉所有标签属性,替换特定单词等操作,都可以通过正则表达式来实现。 总结来说,JavaScript正则表达式在处理字符串、验证数据、文本...

    java正则表达式实例(邮箱,车牌,密码,url,IP,身份证,车牌等等)

    - **解析**:该正则表达式用于验证HTML表格标签。 - `&lt;table(?=[\s&gt;])[^]*&gt;` 表示开始标签。 - `(?!&gt;)` 表示不以"&gt;"结尾。 - `(.*)&lt;/table&gt;` 表示结束标签及中间内容。 - **应用示例**:HTML代码中表格标签的...

    API大集合(HTML,CSS,jquery,php,mysql,正则表达式)

    正则表达式API涉及各种元字符、量词和边界,如`.`匹配任意字符,`*`表示前面的字符可以出现零次或多次,`^`和`$`分别表示行首和行尾。掌握正则表达式能极大地提高处理字符串数据的效率。 这个压缩包提供的手册和...

    JS正则表达式教程.txt

    正则表达式也可用于从文本中移除HTML标签。例如,`/&lt;[^&gt;]*&gt;/g` 可以匹配并删除任何HTML标签,这对于从HTML文档中提取纯文本内容很有帮助。 ### 八、表格数据处理 在处理表格数据时,正则表达式可以帮助提取或清理...

    利用正则表达式批量替换代码.doc

    例如,`/\d{2}-\d{5}/`用于验证ID是否由两位数字、一个连字符和五位数字组成,而`/&lt;(.*)&gt;.*&lt;\/\1&gt;/`则可以匹配HTML标签,如`&lt;p&gt;...&lt;/p&gt;`。 掌握正则表达式是提升代码编辑和处理能力的重要技能,它在文本处理、数据...

    正则表达式替换table表格中的样式与空标记(保留rowspan与colspan)

    这样,即使我们的正则表达式匹配到了包含colspan和rowspan的标签,也不会对它们进行删除或更改。 需要注意的是,虽然正则表达式在处理简单的字符串替换时非常有效,但它并不能保证完全理解HTML文档的结构和语义。...

    正则截取TD里面包含的数据

    根据提供的文件信息,我们可以深入探讨如何使用正则表达式来截取HTML表格(通常由`&lt;table&gt;`标签定义)中的`&lt;td&gt;`标签所包含的数据。在Web开发和数据抓取过程中,正则表达式是一种非常强大的工具,可以帮助开发者快速...

    golang使用正则表达式解析网页

    最后,代码中展示的正则表达式匹配逻辑中,有部分内容可能因为OCR扫描识别问题存在些许错误,建议根据实际情况进行调整。正确的正则表达式应该是能够准确匹配网页内容的模式,错误的正则表达式会导致不准确的解析...

    正则取html中table中td中的值

    // 正则表达式匹配中的内容 string pattern = @"(.*?)&lt;\/td&gt;"; Regex regex = new Regex(pattern, RegexOptions.Singleline); MatchCollection matches = regex.Matches(html); foreach (Match match in ...

    js正则匹配table,img及去除各种标签问题

    - 文章提到了如何使用正则表达式匹配HTML中的`table`标签,包括`table`标签内的内容,例如`tbody`、`tr`等。 - 例子中的正则表达式为`/&lt;table[^&gt;]*&gt;\s*([^&gt;]*&gt;)?(\s*[^&gt;]*&gt;[\s\S]*?&lt;\/tr&gt;\s*)*()?\s*&lt;\/table&gt;/gi`...

    asp 使用正则表达式替换word中的标签,转为纯文本

    在ASP代码中,我们创建了一个RegExp对象,该对象用于执行正则表达式匹配和替换操作。通过设置RegExp对象的IgnoreCase属性为True,忽略大小写的差异;设置Global属性为True,表示替换所有匹配到的内容。Pattern属性...

    利用正则提取网页中的一个表格

    对于HTML中的表格,可以编写正则表达式来匹配`&lt;tr&gt;`标签及其内容。例如: ```csharp Regex tableRegex = new Regex("(.*?)&lt;/tr&gt;", RegexOptions.Singleline); MatchCollection matches = tableRegex.Matches...

    PHP匹配多行的正则表达式分析

    本文主要讨论如何在PHP中使用正则表达式来匹配多行文本,特别是针对HTML表格内容的匹配。 首先,我们来看一个常见的错误示例。尝试匹配如下的HTML片段: ```html &lt;table&gt; &lt;tr&gt;&lt;td&gt;aaaa&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;bbbb...

    asp自动补全html标签自动闭合(正则表达式)

    本文将深入探讨如何使用正则表达式在ASP中实现HTML标签的自动补全与闭合,以便在处理包含HTML内容时避免页面变形。 首先,我们需要了解ASP中的正则表达式基础。正则表达式是一种模式匹配工具,用于查找、替换或提取...

    HtmlDome.rar

    可以再写一个正则表达式来匹配并移除所有HTML标签,或者使用HTML解析库如HtmlAgilityPack来更准确地处理。 6. **自定义修改**:根据需求,你可能需要对提取的数据进行清洗、转换或格式化。例如,去除空白字符,转换...

    ASPNETStripHtmlCode

    - 可以用正则表达式匹配`[^&gt;]*src=["']?(.*?)["']?[^&gt;]*&gt;`来找到所有图片链接。 5. **提取链接(link)** - 链接存在于`&lt;a&gt;`标签的`href`属性中。 - 用正则表达式`[^&gt;]*href=["']?(.*?)["']?[^&gt;]*&gt;`可以提取出...

Global site tag (gtag.js) - Google Analytics