我有一个字符串可以看起来像这些Adjuster, Carrier 3 (Carrier 3)
或Adjuster, Carrier 3 (Carrier 3 (Test))
我想捕获第一组括号中的内容。我原来的正则表达式模式是\((.+?)\)
(非贪婪的),所以我可以将文本捕获为组#1。
var selectedOwnerText = /* GET THE TEXT FROM NODE/FIELD/ETC. */,
carrierName = '',
rePattern = /\((.+?)\)/;
if (selectedOwnerText != '') {
carrierName = selectedOwnerText.match(rePattern);
if (carrierName != null) {
carrierName = carrierName[1];
}
}
// Rest of code...
这适用于第一个文本案例,但在第二个文本案例中,它会抓取外括号,例如(Carrier 3 (Test)
.
是否有一个正则表达式模式可以捕获外括号内的文本,其中也可能包括括号?我想要或者Carrier 3
从Carrier 3 (Test)
上面提取。
编辑:我刚刚被告知这个数据字段是自由格式的文本,所以任何东西都可能出现在外括号内。所以,我需要捕获外括号内的所有内容。
编辑 2:我给了一个用户正确的答案,因为它回答了原始问题(假设只有一组内括号)。现在我知道文本可以是任何东西,Javascript 正则表达式模式是不可能的,我放弃了正则表达式方法。我深入研究了服务器端代码并显示了我需要的数据的 JSON 文字,因此在创建页面/Javascript 时,我可以使用数据结构来获取我需要的内容,而不必担心字符串的实际外观. 感谢所有试图提供帮助的人!