[英]regex select after and between brackets but exclude them from captured group
这是我的正则表达式: ((.+?(?=[(]))([(].+?[)]))
和一个字符串模板: "string(100)"
。从中我捕获了 3 个组。首先第二是"string(100)"
第二是"string"
,第三是"(100)"
。但我想从第三组中排除括号,所以我只有"100"
。我看过所有其他类似的帖子,但不能不能成功地使它们适应我的问题。
我很抱歉写了几乎重复的帖子,我只是没有太多时间自己解决。
提前致谢。
只需从字面上匹配括号并创建一个仅包含括号内内容的组:
这是解决它的一种方法:
((.+?(?=[(]))\((.+?)\))
你的表达可能比它需要的复杂得多。 这个简约的 RegEx 可能可以解决您的问题:
(.*)\((.*)\)
它匹配任何有一对括号的东西。 整个匹配通常可以用作所有语言/框架中的捕获组。 两个显式捕获组围绕括号前的所有内容和括号内的所有内容。 (“一切”是指除换行符以外的所有字符。)
这是交互式深入解释和一些示例: https : //regex101.com/r/OgshEn/1
这个正则表达式 '/(\\w+)((\\d+)))/' 达到了预期的结果。 请参考以下 javascript 结果。
let matches = "string(100)".match(/(\w+)\((\d+)\)/);
console.log(matches[0]);
console.log(matches[1]);
console.log(matches[2]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.