Javascript正则表达式替换以转换文本

Javascript regex replace to transform text

本文关键字:转换 文本 替换 正则表达式 Javascript      更新时间:2024-01-15

我正在尝试用h[num]. Header 替换<h[num] id="....">Header</h[num]>

这是我尝试过的,但我无法让它发挥作用:

html.replace('/<h('d+).*?>(['s'S]*?)<'/h.*?>/', "h$1. $2");

实际上,它可以。

查看中的示例http://jsfiddle.net/cLHk3/

function replaceHTML(){
    var elements = document.querySelectorAll('h1,h2,h3,h4,h5');
    Array.prototype.slice.call(elements).forEach(function(element){
        var text = element.tagName+'. Header';     
        element.parentNode.insertBefore(document.createTextNode(text),element);
        element.parentNode.insertBefore(document.createElement('br'),element);
        element.parentNode.removeChild(element);
    })
}

答案如下:

var html = <h1 id="....">Header</h1>
var re = /^<h('d+)['s'S]*?>(['s'S]*)<'/h('d+)>$/;
html.replace(re, "h$1. $2");