匹配包含特定字符的括号

时间:2016-12-15 13:12:01

标签: javascript regex match

我有一个字符串:

var string = "116 b (407) (90 A / 122 M) (11.2004)"

在该字符串中,我希望匹配特定括号()及其上下文(即(90 A / 122 M)),包括特定字符/

我试过了:

string.match(/\([/]\)/g)

但是返回null。我究竟做错了什么? 最诚挚的问候

3 个答案:

答案 0 :(得分:4)

您的\([/]\)模式与(匹配,后跟/,后跟),3-char序列。

您可以使用

/\([^()]*\/[^()]*\)/g

请参阅this regex demo

<强>详情:

  • \( - 打开(括号
  • [^()]* - 除了()之外可以添加零个或多个字符(最后可以添加\/以提高性能:[^()\/]*
  • \/ - /符号
  • [^()]* - 除()以外的零个或多个字符
  • \) - 右括号

答案 1 :(得分:0)

您可以尝试string.match(/\([^)]*\)/g)

可能会给你想要的东西:

["(407)", "(90 A / 122 M)", "(11.2004)"]

答案 2 :(得分:0)

试试这个:

/\([^(/]*\/[^)]*\)/g

Online Pattern