C# Regex match anything inside Parentheses

前端 未结 5 1945
庸人自扰
庸人自扰 2020-12-29 06:12

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

Examples:
Initialize(P90W)
Brake(45X)

相关标签:
5条回答
  • 2020-12-29 06:53

    try this:

    var pattern = @".*public.*(.*\(.*\))";
    Regex.Matches(input,pattern)
    
    0 讨论(0)
  • 2020-12-29 06:56

    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

    0 讨论(0)
  • 2020-12-29 06:57

    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.

    0 讨论(0)
  • 2020-12-29 07:06
    Regex searchTerm = new Regex(@"\(([^\)]*)\)");
    
    0 讨论(0)
  • 2020-12-29 07:13

    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.

    0 讨论(0)
提交回复
热议问题