请教一下javascript正则匹配问题

为什么我要选择编程 2018-05-12 01:07:05
为什么我使用正则后,匹配到的字符串result[0]在控制台里能看到,却无法输出到屏幕啊?代码如下,是我写错了吗?

<html>
<head>
</head>
<body>
<script>
var str = "<sh1>day/rate;11/2;22/3</sh1><sh2>code/hand;kt/100</sh2>";
var patt = new RegExp("<\/*[a-z]*[0-9]*>","g");
var result;
var ref=0;
while ((result = patt.exec(str)) != null) {
document.write(result[0]);
console.log(result[0]);
document.write(str.substring(ref,patt.lastIndex))
ref=patt.lastIndex;
document.write('</br>');
}
</script>
</body>
</html>
...全文
242 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
<sh1> 被浏览器解释成了 html 标记 要用文本方式,才能被显示 <script> var str = "<sh1>day/rate;11/2;22/3</sh1><sh2>code/hand;kt/100</sh2>"; var patt = new RegExp("<\/*[a-z]*[0-9]*>","g"); var result; var ref=0; document.write('<xmp>'); while ((result = patt.exec(str)) != null) { document.write(result[0]); console.log(result[0]); document.write(str.substring(ref,patt.lastIndex)) ref=patt.lastIndex; document.write('</br>'); } </script>
<sh1><sh1></br></sh1>day/rate;11/2;22/3</sh1></br><sh2><sh2></br></sh2>code/hand;kt/100</sh2></br>
原来是这个原因,谢谢
xuzuning 2018-05-12
  • 打赏
  • 举报
回复
<sh1> 被浏览器解释成了 html 标记 要用文本方式,才能被显示 <script> var str = "<sh1>day/rate;11/2;22/3</sh1><sh2>code/hand;kt/100</sh2>"; var patt = new RegExp("<\/*[a-z]*[0-9]*>","g"); var result; var ref=0; document.write('<xmp>'); while ((result = patt.exec(str)) != null) { document.write(result[0]); console.log(result[0]); document.write(str.substring(ref,patt.lastIndex)) ref=patt.lastIndex; document.write('</br>'); } </script>
<sh1><sh1></br></sh1>day/rate;11/2;22/3</sh1></br><sh2><sh2></br></sh2>code/hand;kt/100</sh2></br>
  • 打赏
  • 举报
回复
我想要输出<sh1>:一串字符串;<sh2>:一串字符串。现在是只显示字符串,"<*>"无法打印

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧