删除特定字符,除非前面有一些特定的字符串

时间:2018-04-18 20:36:32

标签: javascript jquery regex replace str-replace

我看了很多,但我无法找到答案。所以我想remove specific character除非前面有一些特定的字符串。例如,如果我有一个如下的段落

var para = '<test@gmail.com>
  >Lorem ipsum dolor sit amet,<test@gmail.com> consectetur
  >adipiscing elit. Integer nec >
  >odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla 
  >quis sem at nibh elementum imperdiet.Duis sagittis ipsum. Praesent 
  >mauris. Fusce nec tellus sed augue semper porta. Mauris massa. 
  >Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu. 
  <test@gmail.com> '

我想删除所有&#39; >&#39;  除了&#39; .com&#39;之后的那些

输出应该像

var para = '<test@gmail.com>
   Lorem ipsum dolor sit amet,<test@gmail.com> consectetur
   adipiscing elit. Integer nec 
   odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla 
   quis sem at nibh elementum imperdiet.Duis sagittis ipsum. Praesent 
   mauris. Fusce nec tellus sed augue semper porta. Mauris massa. 
   Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu. 
  <test@gmail.com> '

我知道我是否

para = para.replace(/\>/g,'');

这将替换所有&{39; >&#39;,但我需要将该条件添加到其中。

2 个答案:

答案 0 :(得分:3)

[^m]>应该做的工作。

请参阅regex101

中的演示

<强>说明: [^m]>表示应匹配>之前没有m字符的每个{{1}}。

答案 1 :(得分:3)

删除所有'&gt;'除了'.com'之后的那些,请使用negative lookbehind

+----+-------------------------------+
| ID | RANGE_DAYS_CREDIT_LESS_THAN_1 |
+----+-------------------------------+
|  1 |                             1 |
|  1 |                             2 |
|  1 |                             1 |
|  2 |                             1 |
+----+-------------------------------+