C# Regex match anything inside Parentheses

Michael D. Irizarry picture Michael D. Irizarry · Dec 15, 2011 · Viewed 33.2k times · Source

I want to match anything inside parentheses but the result must exclude the parentheses as well.

Examples:
Initialize(P90W)
Brake(45X)

Result:
990W
45X

note results without the Parentheses.

I've been trying to make this work but to no avail I tried a few variations but I know it's a simple thing I'm missing and I don't want to go using Replace to achieve it.

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

Answer

FailedDev picture FailedDev · Dec 15, 2011

Some people accuse me of using zero width assertions all the time:

resultString = Regex.Match(subjectString, @"(?<=\().+?(?=\))").Value;

But they do exactly what you want. Don't capture what you don't want to capture.