0

我正在尝试用正则表达式搜索和替换,但它不起作用。

我有一些像这样的html:

<p><b>Noten</b></p>
<p><b>somethingelse</b></p>
<p><b>random extra</b></p>
<p><b>something 3</b></p>

并希望它像这样:

<h2>Noten</h2>
<h2>somethingelse</h2>
<h2>random extra</h2>
<h2>something 3</h2>

但是我如何找到所有正确的元素?我只能找到没有空格或数字的,如下所示:

<p><b>[a-z]*</b></p>

而且我不知道如何替换它,以便<p><b>标签改变<h2>

4

3 回答 3

3

测试它

var regex = /<p><b>([^>]+)<\/b><\/p>/ig;
var s="<p><b>Noten</b></p>";
var result = s.replace(regex, "<h2>$1<\/h2>");
alert(result);

但我建议你使用 Dom 和 JQuery 来做这更容易

于 2013-02-02T14:20:04.760 回答
2

试试这个

它在 JavaScript 中

s="<p><b>Noten</b></p>"
s.replace("<p><b>","<h2>")
s.replace("</p></b>","</h2>")

工作示例:

这是小提琴:http: //jsfiddle.net/ZqqFv/2/

于 2013-02-02T14:21:28.147 回答
1

很大程度上取决于您尝试使用正则表达式的位置,但我只是简单地运行它一个

<p><b>

/<p><b>/<h2>/

第二次

<\/b><\/p>

/<\/b><\/p>/<\/h2>/
于 2013-02-02T14:27:34.090 回答