在特定字符串和特殊字符之间获取字符串

时间:2019-08-01 06:54:44

标签: javascript regex

我正在尝试获取字符串和特殊字符之间的数据。

如何在JS中做到这一点?

下面是我的代码:

    var string = '(CATCH: dummy)';
    var TitleRegex = /\((CATCH:.*?)\)/;
    var titleData = string.match(TitleRegex);

输出应为:哑

1 个答案:

答案 0 :(得分:2)

您可以通过将开头(移动到:/\(CATCH:(.*?)\)/之后的位置来修复当前表达式,然后使用类似var titleData = string.match(TitleRegex)[1]的第1组值

我会在这里建议更精确的模式:

var string = '(CATCH: dummy)';
var TitleRegex = /\(CATCH:\s*([^()]*)\)/;
var titleData = string.match(TitleRegex);
if (titleData) {
  console.log(titleData[1]);
}

正则表达式为\(CATCH:\s*([^()]*)\)

  • \(CATCH:-一个(CATCH:子字符串
  • \s*-超过0个空格
  • ([^()]*)-捕获组1:除()之外的0个或更多字符
  • \)-一个)字符。

您实际上可以使用/\(CATCH:([^()]*)\)/(不使用\s*),而仅使用titleData[1].trim()来消除所需值两端的任何最终空白。