C#正则表达式匹配括号内的任何内容

Mic*_*rry 17 c# regex parentheses

我想匹配括号内的任何内容,但结果也必须排除括号.

示例:
初始化(P90W)
制动器(45X)

结果:
990W
45X

注意没有圆括号的结果.

我一直在努力使这项工作,但无济于事我尝试了一些变化,但我知道这是一个简单的事我错过了,我不想使用替换来实现它.

var item = "Brake(45X)"
Regex searchTerm = new Regex(@"\((.*)\)");
var value = (searchTerm.Match(item).Groups.Count > 0) ?
    searchTerm.Match(item).Groups[0].Value : string.Empty;
Run Code Online (Sandbox Code Playgroud)

Fai*_*Dev 33

有些人指责我一直使用零宽度断言:

resultString = Regex.Match(subjectString, @"(?<=\().+?(?=\))").Value;
Run Code Online (Sandbox Code Playgroud)

但他们完全按照你的意愿行事.不捕捉你不想捕捉的东西.

  • 为什么你需要前瞻和后视?`@"\(([^ \]]*)\)"`更简单,4个字符更短:) (5认同)

Mat*_*hew 11

尝试正则表达式 @"\((.*?)\)"

编辑:结果将是组1而不是0,组0应该包含整个正则表达式结果,而不是第一个带括号的值