`
lym6520
  • 浏览: 696081 次
  • 性别: 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正则表达式实战

    显示或者保存正则表达式匹配的部分内容... 18 正则表达式替换变量... 18 正则替换指定属性中的文本... 19 将阿拉伯数字替换为中文大写形式... 20 替换文本中的URL为链接... 21 从HTML代码段删除指定标签极其内容... ...

    正则表达式经典实例

    3.6 检查正则表达式能否整个匹配目标字符串 3.7 获取匹配文本 3.8 决定匹配的位置和长度 3.9 获取匹配文本的一部分 3.10 获取所有匹配的列表 3.11 遍历所有匹配 3.12 在过程代码中对匹配结果进行验证 3.13 在...

    正则表达式经典实例.pdf

    3.6 检查正则表达式能否整个匹配目标字符串 3.7 获取匹配文本 3.8 决定匹配的位置和长度 3.9 获取匹配文本的一部分 3.10 获取所有匹配的列表 3.11 遍历所有匹配 3.12 在过程代码中对匹配结果进行验证 3.13 在另一个...

    html知识点实践经验总结

    1. 表格标签是table,tr是行,td是单元格,cellspacing是单元格与单元格的距离 cellpadding是内边距,...6.正则表达式是一种专门用于操作字符串的规则 通过一些符号来表示,简化对字符串操作 常见的操作有 匹配:matc

    JavaScript笔记

    --查找str中匹配正则表达式的关键字 | 返回:如果没找到,返回null。若找到,返回1个数组,数组的每个元素是每个找到的匹配关键 | |--str.replace(regExp,"替换值")--替换str中所有匹配的关键字 | 强调:replace...

    js使用小技巧

    HTML标签 document.documentElement.innerHTML 第一个style标签 document.styleSheets[0] style标签里的第一个样式 document.styleSheets[0].rules[0] 防止点击空链接时,页面往往重置到页首端。 ()"&gt;word...

    PHP3程序设计

    9.1 正则表达式定义 129 9.1.1 方括号表达式 130 9.1.2 转义字符 130 9.2 POSIX风格的函数 131 9.2.1 ereg 和eregi 131 9.2.2 ereg_replace 和eregi_replace 132 9.2.3 Split 133 9.3 PERL风格函数 134 9.3.1 模式定...

    Java开源的xpath解析器Jsoupxpath.zip

    JsoupXpath 是一款纯... a~=b a的内容是否符合 正则表达式b 返回Boolean 其他说明 基本这些足够了,其他鸡肋的暂时不支持,如有特殊需求请联系我。项目地址:GitHub/Jsoupxpath 标签:Jsoupxpath

    freemarker总结

    上面的代码中的逻辑表达式用括号括起来主要是因为里面有&gt;符号,由于FreeMarker会将&gt;符号当成标签的结束字符,可能导致程序出错,为了避免这种情况,我们应该在凡是出现这些符号的地方都使用括号. Pythons are ...

    JavaScript高级教程

    2.10.3 有标签的语句..............................................48 2.10.4 break 语句和 continue 语句..............................................48 2.10.5 with 语句.....................................

Global site tag (gtag.js) - Google Analytics