正则匹配html标签以及内容


  1. 匹配所有标签 </?[a-zA-Z! ="-\d]*>

  2. 匹配闭合标签以及里面内容 <[a-zA-Z! ="-\d]*>[^</>]*</[a-zA-Z! ="-\d]*>


java使用要对-进行转义:

  • </?[a-zA-Z! ="\-\d]*>
  • <[a-zA-Z! ="\-\d]*>[^</>]*</[a-zA-Z! ="\-\d]*>
/**
 * @author linyufeng.
 * @date 2021/2/3 13:34
 **/
public class TextUtil {

    // 去除html标签
    public static String disHtml(String str) {
        return str.replaceAll("</?[a-zA-Z! =\"\\-\\d]*>", "");
    }

    // 去除html标签以及里面内容
    public static String disAllHtml(String str) {
        return str.replaceAll("<[a-zA-Z! =\"\\-\\d]*>[^</>]*</[a-zA-Z! =\"\\-\\d]*>", "");
    }

}
  • ((?!abc).)* 否定向前语法, 可以帮助我们去除指定前缀的字符串;
  • [^abc]范围比较大,不能起到只过滤abc的目的;

所以,上述优化格式为: <[a-zA-Z! ="\-\d]*>((?!</).)*</[a-zA-Z! ="\-\d]*>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM