호출닷넷 C#을 정규식 내가 같은 문자열을 구문 분석하려고 해요
A는, B, 나는, J는, D, F 방법 이름 속성 이름입니다.A.B[C].D(E).F("(G)/{H})", "1" == "1").I.J[K]
, E, "(G)/{H})", "1"== "1"방법 매개 변수 및 C 및 K 색인 값. . 매개 변수에는 모든 문자가 포함될 수 있으며 문자열에는 여러 가지 속성 및/또는 메서드가 포함될 수 있습니다.
나는 그 일을 할 정규식을 찾고있다. 지금까지 나는
(?<=\.)(?< PropertyOrMethodName>\w+)((\\[(?< Index>\w+)\\])|((?< Open>\\()(?< Parameters>.+)(?<-Open>\\))(?(Open)(?!))))?
함께했다하지만 좋은 예 아니다 위의 샘플은 D (E) .F ("(G)/{H})", "1"== "1") 함께 수집합니다.
이, 적어도 나에게, 정규식 HTML 구문 분석하려고처럼 * 작은 * 비트 소리 - 단지에 대한 행할 수를 ** 몇 가지 ** 사례가 있지만 가장자리 케이스에 대처하는 강력한 무언가를 원한다면 대신 상태 기반 파서를 작성해야 할 수도 있습니다. –
맞아, 일부 펑키 정규식은 내 문제에 대한 빠른 해결책을 제공하는 반면 파서는 적절한 것이지만 ... 감사합니다. – pRintLn
당신이 원했던 것이 가능할 수도 있지만 솔직히 말해서, 나는 당신의 질문에 답하는 데 시간을 투자하지 않을 것입니다. ** 세부 사항이 많이 ** 부족하기 때문입니다. 인덱서는 항상 단순합니까? 문자열 외부에 중첩 된 괄호가있을 수 있습니까? 중첩 된 중괄호 또는 대괄호는 어떨까요? 정말로 C#을 구문 분석하려고합니까, 아니면 다른 언어입니까? 그리고 가장 중요한 것은 - 예상되는 결과는 무엇입니까? – Kobi