C# Regex match anything inside Parentheses

北慕城南 提交于 2019-11-30 04:51:56

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.

try regex @"\((.*?)\)"

EDIT: Also the result will be group 1 not 0, group 0 should contain the entire regex result, not the first parenthesized value

Remove the inner paranthesis and try again:

new Regex(@"(\([^\)]+\))");

When you do not escape paranthesis in regex, if you are using group match it will only return the content within the paranthesis. So if you have, new Regex(@'(a)(b))', match 1 will be a and match 2 will be b. Match 0 is the entire match.

Regex searchTerm = new Regex(@"\(([^\)]*)\)");

try this:

var pattern = @".*public.*(.*\(.*\))";
Regex.Matches(input,pattern)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!