0

我有这个正则表达式^<+[a-zA-z=\" ]+>,我需要它来替换这个字符串中的文本<span class="myclass">Some text< /span>

我只想删除跨度并得到它Some text,这是我的代码:

var text = "<span class=\"myclass\">Some text</span>";
var myText = text.replace(/^<+[a-zA-z=\" ]+>/,"").replace("</span>","");

我搜索了大约一个小时,但我找不到我的错误在哪里。请注意,我只是不能输入 span 标签,所以我在它们的左括号前面留了空格。

而且我知道我可以输入:

var someVar = $(".myClass").html();

但我需要正则表达式,所以请帮助我!

4

1 回答 1

1

如果您只想要第一个 > 和下一个 < 之间的内容,您可以执行以下操作:

var myText = text.replace(/^[^>]*>([^<]*).*/, "$1");

这是一个 jsfiddle。如果你想让这个特定于span你可以改变正则表达式的前导部分以包括跨度。

然而,如上所述,如果您在 DOM 中执行此操作,那么坚持现有的 DOM 操作功能会更安全。

于 2013-07-19T11:27:36.613 回答