我正在尝试获取字符串和特殊字符之间的数据。
如何在JS中做到这一点?
下面是我的代码:
var string = '(CATCH: dummy)';
var TitleRegex = /\((CATCH:.*?)\)/;
var titleData = string.match(TitleRegex);
输出应为:哑
答案 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()
来消除所需值两端的任何最终空白。