正则表达式排除特定字符串

如何使用正则表达式匹配中间的内容,中间可能还有其他html标签
2024-11-27 13:05:44
推荐回答(1个)
回答1:

一、匹配所有标签

\<.[^<>]*\>

思路:

1、首先匹配<和>,得到"\<.*\>",(\为转义,<和>加不加都可以)但出现多个标签在一组中。

2、排除中间的<和>,表达式改为"\<.[^<>]*\>"。

3、如果想得到不包含属性的所有标签,可以加个字符数限制,根据标签字符数,表达式改为“\<\S[^<>]{0,12}\>”。

二、匹配指定标签

匹配所有DIV标签 \<\bdiv.*\<\/div\b\>

思路:

1、以


2、以<\div>结束,得到“\<\/div\b\>”,\\注意两次\b的使用,\b用于匹配位于词开始处的词边界和用于匹配词结尾处的词边界。

3、连接两个表达式,中间填充任意字符,\<\bdiv.*\<\/div\b\>。

提取标签中的内容

>.[^<>]+<
  • 新浪

  • 中国娱乐网

  • 四川在线

  • 车神榜


  • 结果:

    >新浪<

    >中国娱乐网<

    >四川在线<

    >车神榜<