"和"正则表达式中的条件

时间:2015-11-18 09:55:19

标签: javascript regex

我有以下字符串:

  

+++这是一个随机文本......

如何在开始时实现加号字符+退格键并且结束时+点空格中的点字符被删除,留下以下字符串:

  

这是一个随机文本

我想出了以下正则表达式:

(^(+{3}\s))(\s[.]{3}$)

我如何调整正则表达式?

2 个答案:

答案 0 :(得分:0)

尝试此模式:/(?:^\+*\s*|\s*\.*$)/g

在JavaScript中:

"+++ this is a random text ...".replace(/(?:^\+*\s*|\s*\.*$)/g, "")

说明:

  • ^\+*\s*:在字符串开头有零个或多个加号,带有可选的尾部空格
  • \s*\.*$:字符串末尾有零个或多个点,带有可选的前导空格

也就是说,编写删除trimStarttrimEnd字符的+.函数可能更具可读性:

"+++ this is a random text ...".trimStart("+").trimEnd(".").trim();

答案 1 :(得分:0)

您可以使用replace()替换匹配的正则表达式[+.]通知我们需要转义.> [+\.]我们还必须将其g全局应用于/[+\.]/g

var str = "+++ this is a random ++text ..."

str.replace(/[+\.]/g, '')

要删除字符串末尾和开头的空格,我们可以应用.trim()方法

str.replace(/[+\.]/g, '').trim()