【问题标题】:get the value between round bracket java script获取圆括号javascript之间的值
【发布时间】:2017-08-29 09:22:06
【问题描述】:
var string = "(a) (b)";

我想把上面的字符串拆分成数组

输出应该是

[0] => 'a'
[1] => 'b'

【问题讨论】:

  • 你试过什么?向我们展示你的尝试。
  • {'a', 'b'} 不是数组...
  • 它是一本字典
  • @Oqhax 从技术上讲,这是一个语法错误。尽管为了公平起见,出于某种未知原因,该部分被编辑到他们的问题中。它已被删除。

标签: javascript jquery split


【解决方案1】:

要将所有内容都用圆括号括起来,以下应该可以工作

var string = "(a) d (b)";
console.log(string.match(/[^()]+(?=\))/g));

即使文本只有一个右括号,Above 也会匹配 - 例如"a) d (b)" 也会导致 ["a","b"]。如果这不是故意的,您可以使用

string.match(/\([^()]+(?=\))/g)
    .map(e => e.substring(1))

【讨论】:

  • 不是 OP,但你能解释一下正则表达式,因为我想学习正则表达式,我很烂。
  • @Script47 (?=\)) 是正向前瞻,因此它将匹配后跟右括号的每个“单词”。 regular-expressions.info/lookaround.html
  • 仅供参考(不会投反对票),您需要稍微纠正一下。它并不涵盖所有情况。例如尝试(foo) (erzats%bar) eaze (lorum)
  • 谢谢@KarelG。编辑它
猜你喜欢
  • 2012-08-17
  • 1970-01-01
  • 2010-09-27
  • 2013-06-27
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 1970-01-01
  • 2015-10-16
相关资源
最近更新 更多