Javascript 使用正则表达式计算Html页面标记数
我想使用javascript解析整个html页面,并使用regEx计算其中存在的不同标记的总数,然后将其打印出来。有谁能帮我做这件事吗?代码将是最受欢迎的 例如,如果这是html页面:Javascript 使用正则表达式计算Html页面标记数,javascript,regex,node.js,Javascript,Regex,Node.js,我想使用javascript解析整个html页面,并使用regEx计算其中存在的不同标记的总数,然后将其打印出来。有谁能帮我做这件事吗?代码将是最受欢迎的 例如,如果这是html页面: <html> <head> </head> <body> <a>This is a tagt 2</a> <p>This is paragraph1</p> <a>This is Assigntment
<html> <head> </head> <body> <a>This is a tagt 2</a> <p>This is
paragraph1</p> <a>This is Assigntment 2</a> <p>This is paragraph1
</p> <div> <img> </img> </div> <body> </html>
这是一个标记2这是
第1段这是作业2这是第1段
那么预期的产出是:
tag的数量=2a
tag的数量=2p
- 等
<([a-z]+)(?=[\s>])(?:[^>=]|='[^']*'|="[^"]*"|=[^'"\s]*)*\s?\/?>
])(?:[^>=]|='[^']*'.[^']*'.[^']*'.=[^'\s]*)*\s?\/>
现场演示
- 正则表达式:
- Javascript:
var string=“这是一个标记2这是第1段这是赋值2这是第1段”;
console.log(字符串);
变量re=/])(?:[^>=]|='[^']*'.[^']*'.[^']*'.=[^''\s]*)*\s?\/?>/gi;
var-m;
var HashTable={};
做{
//指挥比赛
m=重新执行(字符串);
//验证匹配是否成功
如果(m){
//验证哈希表是否有找到的标记名的条目
if(!(哈希表中的m[1]){
//找不到条目,因此我们将为此标记名添加条目,并将其计为零
哈希表[m[1]]=0
}//如果结束,则结束
//递增标记名计数器
哈希表[m[1]]++
}//如果结束,则结束
}while(m);
console.log(“”)
//输出找到的所有标记名的编号
for(哈希表中的var键){
log(key+“=”+哈希表[key]);
}
样本输出
<html> <head> </head> <body> <a>This is a tagt 2</a> <p>This is paragraph1</p> <a>This is Assigntment 2</a> <p>This is paragraph1</p> <div> <img> </img> </div> <body> </html>
html=1
head=1
body=2
a=2
p=2
div=1
img=1
这是标记2这是段落1这是赋值2这是段落1
html=1
水头=1
车身=2
a=2
p=2
div=1
img=1
您只想获得每种类型标记的计数?也许这有助于入门:是:)例如,如果这是html页面,这是标记2这是段落1这是赋值2这是段落1那么预期输出是:标记数:2 p标记数:2 etcYeah,您可以像这样使用getElementsByTagName函数:yaa,但在一般上下文中,我不知道html页面中存在哪些标记,而且还需要regEx,所以。。。。。。