正则表达式替换<>

时间:2014-09-22 08:40:24

标签: regex

<update+zrdpcvplo=1e@facebookmail.com>
Reply-To:   <a href="mailto:noreply@facebookmail.com">noreply </a>
To:     <a href="mailto:susno.duandtjuk@gmail.com">Susno Duandtjuk </a>

我想找到&lt;&gt;那不是<a href="..."></a>

因为我需要将其替换为&lt; &gt;

如何仅查找不包含href的<>,例如<update+zrdpcvplo=1e@facebookmail.com>

1 个答案:

答案 0 :(得分:2)

你不应该在HTML上使用正则表达式,但我想这样的东西会起作用

var str = '<update+zrdpcvplo=1e@facebookmail.com>' + "\n" +
          'Reply-To:   <a href="mailto:noreply@facebookmail.com">noreply </a>' + "\n" +
          'To:     <a href="mailto:susno.duandtjuk@gmail.com">Susno Duandtjuk </a>';

var re  = /<(?!a|\/a)([^>]+)>/g;

var out = str.replace(re, "&lt;$1&gt;");

console.log(out);

输出

&lt;update+zrdpcvplo=1e@facebookmail.com&gt;
Reply-To:   <a href="mailto:noreply@facebookmail.com">noreply </a>
To:     <a href="mailto:susno.duandtjuk@gmail.com">Susno Duandtjuk </a>

正则表达式视觉

/<(?!a|/a)([^>]+)>/g