需要帮助设计正则表达式来选择'|'和'|'如果第一个'|'后面跟着一个空格

Need help designing a regex to select all characters between '|' and '|' if the first '|' is followed be a space?

本文关键字:一个 空格 帮助 正则表达式 如果 选择 第一个      更新时间:2024-01-08

例如,在以下字符串中:--|-------| d[Verse 1] e|--------|-3-将选择d[Verse 1] e(以及d后面的空格),在--|-0----0---2--| E|--------|--中将选择E(以及E.后面的空格

唯一已知的常数是第一个|后面总是有一个空格。如果后面跟有除空格以外的任何内容,如-,则不应启动|-中的选择。

因此,一个正则表达式选择两个|之间的所有字符,当且仅当第一个|后面跟着一个空格。

为了清楚起见,还有一个例子:在我选择并删除所有实例后,-----|-----|-----| [Ouro] e|-------|---|--------| Cadd9 Ce|---|---应该格式化为-----|-----|-----||-------|---|--------||---|---

您可以这样尝试。

Regex:/'|'s+[^|]+/g并替换为|

Regex101演示

这是有效的:

/('| +[^'|]+)+/g

请参阅http://regexr.com/3d5go

然后只需像这样替换每个元素的前导|

var matches = oldString
  .match(/('| +[^'|]+)+/g)
  .map(function(el){ return el.replace('| ','') })