]*>[\s\S]*?\s*)*()?\s*/gi;
var tabMatch = tabReg.test(s);
var tabMatchContentArray = s.match(tabReg);
if(tabMatch)
{
mainContent = s.replace(tabReg,”#”);
}
//对img标签进行匹配
var imgReg = /|\/>)/gi;
imgMatchContentArray = s.match(imgReg);
if(imgReg.test(s))
{
//将img标签替换为*
mainContent = mainContent.replace(imgReg,”*”);
}
//处理html标签
mainContent = mainContent.replace(/ /gi,” “);
var pReg1 = /
/gi;
var pReg2 = //gi;
mainContent = mainContent.replace(pReg1,””).replace(pReg2,”
“);
//下面的htmlReg1 ,htmlReg2可以匹配任意标签
// var htmlReg1 =/]+>/gi;
// var htmlReg2 =//gi;
//
// mainContent = mainContent.replace(htmlReg1,””).replace(htmlReg2,””);
//mainContent = mainContent.replace(/&/gi,”
“).replace(/@/gi,”
“);
var pageIndex = 1;
var size = 500;
var tableContentArray = mainContent.split(“#”);
var array = []; //存放以table分割后的数组中每个数组可以分作几页
var arrayIndex = []; //存放table在内容中的索引
var len =0;
for(var i=0;i<tableContentArray.length;i++)
{
var con = tableContentArray[i];
len += con.length;
arrayIndex[i] = len;
array[i] = Math.ceil(con.length /size);
}
var tableIndexArray = [];//存放table内容页码数
var sum = 1;
for(var j=0;j<array.length-1;j++)
{
sum += array[j];
tableIndexArray[j] = sum;
}
var currentPageContent = mainContent.substr((pageIndex-1)*size,size);
if(tableIndexArray.indexOf(pageIndex) >= 0)
{
currentPageContent = tabMatchContentArray[tableIndexArray.indexOf(pageIndex)];
}
if(currentPageContent.indexOf(“#”)!= -1)
{
var beginToCurrentPageContent = mainContent.substr(0,pageIndex*size);
var tabLastIndex = beginToCurrentPageContent.lastIndexOf(“#”);
currentPageContent = currentPageContent.substr(0,tabLastIndex-(pageIndex-1)*size);
//当前页是否有 * 获取最后一个 * 的位置
var indexOf = currentPageContent.indexOf(“*”);
if(indexOf >= 0)
{
//获取开始到当前页位置的内容 中的 * 的最后的下标
var reCount = beginToCurrentPageContent.split(“*”).length – 1;
var contentArray = currentPageContent.split(“*”);
currentPageContent = replaceImgContent(contentArray,reCount,imgMatchContentArray);
}
}
else
{
//当前页是否有 * 获取最后一个 * 的位置
var indexOf = currentPageContent.indexOf(“*”);
if(indexOf >= 0)
{
//获取从开始位置到当前页位置的内容
var beginToCurrentPageContent = mainContent.substr(0,pageIndex*size);
//获取开始到当前页位置的内容 中的 * 的最后的下标
var reCount = beginToCurrentPageContent.split(“*”).length – 1;
var contentArray = currentPageContent.split(“*”);
currentPageContent = replaceImgContent(contentArray,reCount,imgMatchContentArray);
}
}
if(currentPageContent==””)
{
alert(“页码数超过范围”);
}
else
{
document.getElementById(“annouContent”).innerHTML= currentPageContent;
}
/* currentArray:当前页以 * 分割后的数组
replaceCount:从开始内容到当前页的内容 * 的个数
matchArray : img标签的匹配的内容
*/
function replaceImgContent(currentArray,replaceCount,matchArray)
{
var result = “”;
for(var i=currentArray.length -1,j = replaceCount-1 ;i>=1; i–)
{
var temp = (matchArray[j] + currentArray[i]);
result = temp + result;
j–;
}
result = currentArray[0] + result ;
return result;
}
下面是一些补充
js正则匹配删除table
var reg = /|123/g
一个JAVASCRIPT正则表达式,Table中只保留ColSpan和RowSpan
html = html.replace(/]*?(ColSpan\s*=\s*[“‘]?[^”‘>\s]*[“‘]?[^>]*?)?(RowSpan\s*=\s*[“‘]?[^”‘>\s]*[“‘]?[^>]*?)?>/gi,””);
以上就是js正则匹配table,img及去除各种标签问题的详细内容,更多关于js正则匹配table,img的资料请关注脚本之家其它相关文章!
来源:脚本之家
链接:https://www.jb51.net/article/183979.htm
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/897485.html
正则表达式+Python re模块详解
上一篇
2025年1月4日 00:58:54
SQL Anywhere正则表达式语法与示例
下一篇
2025年1月4日 00:59:14
相关推荐
-
这篇文章主要介绍了浅析Table 和 div 的简介及用法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 Web前端1 学号姓名性别年龄 01张三男20 02李四女21 人数合计60 …
-
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。这篇文章给大家介绍golang 正则表达式的相关知识,感兴趣的朋友跟随小编一起看看吧 Go(又称 Golang)是 Google 的 …
-
这篇文章主要介绍了python中使用正则表达式将所有符合条件的字段全部提取出来,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 问题如标题,使用正则表达式匹配字段目前无非就三种,分别是: re.ma…
-
这篇文章主要介绍了js正则表达式,限1-2位整数,或者至多含有两位小数,需要的朋友可以参考下 测试代码 //1、只能输入数字或者小数点 仅整数,整数加小数var reg1=/(^[0-9]{1,2}$)|(^[0-9]{1,2}[\.]{1…
-
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程。 目录 1. 正则表达式基础 1.1.…
-
这篇文章主要介绍了基于xpath选择器、PyQuery、正则表达式的格式清理工具,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 1,使用xpath清理不必要的标签元素,以及无内容标签 from l…
-
正则表达式,又称规则表达式是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。本文重点给大家介绍正则表达式中的 .*? 或 .*+ 的意思 ,感兴趣的朋友一起看看吧 正则表达式简介 正则表达式,又称规则…
-
正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具 正则表达式(Regular Expression) 是用于描述一组字符串…
-
第一次遇到这个问题, 是大概两年前写代码高亮, 从当时的解决方案到现在一共有三代, 嘎嘎. 觉得还是算越来越好的. 第一代: //那个时候自己正则还不算很精通, 也没有(?:…)这种习惯, 是以寻找结束引号为入口写出的这个正则.…
-
关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享。 关于匹配字符串问题,有很多种类型,今天讨论 js…
联系我们
156-6553-5169
在线咨询: QQ交谈
邮件:253000106@qq.com
工作时间:周一至周五,9:30-18:30,节假日休息