정규 표현 식 균형 그룹 괄호 식 면접 문제 해결

3110 단어 정규 표현 식
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(GetMax(")()(()())("));

            Console.Read();
        }

        static int GetMax(String str)
        {
            Regex regex = new Regex("((?\\()|(?\\)))*(?(open)(?!))");
            var matches = regex.Matches(str);
            return matches.OfType<Match>().Max(m => m.Length);
        }
    }

물론 이중 for 순환 을 사용 해도 해결 할 수 있 지만 균형 그룹 이 일치 하지 않 아 해결 이 간단 하 다.

좋은 웹페이지 즐겨찾기