2017-11-16 19 views
0

C 호환 코드를 생성하기 위해 Excel 공식을 구문 분석해야합니다. 지금은 자바를 사용하여 "전원"표현을 구문 분석해야합니다단일 괄호와 일치하는 정규식

1. F15^2 
2. (A1*A2)^2 
3. SQRT((A1*A2)^2) 

나는 다음과 같은 정규 표현식이 있습니다

(\([^)]*\)|\w+)\^(\([^)]*\)|\w+) 

이 표현이 제대로 1. 2. 구문 분석을.

1. Group1: F15, group2: 2 
2. Group1: (A1*A2), group2: 2 

그러나 3에 너무 많은 1 괄호를 반환 : 그룹 1 (A1 * A2)를가되도록

3. Group1: ((A1*A2), group2: 2 

어떻게 정규 표현식을 수정해야하는 대신 ((A1 * A2)을?

+0

I 생각을 작동해야 추가 '[^)]'와 '[^()]'일 수있다. – Math10

답변

0

대체 (는)

(\([^)^(]*\)|\w+)\^(\([^)^(]*\)|\w+) 
0

당신은 그냥이 예에서 작업해야하는 경우, 나는이에 정규식을 변경합니다 : (\([^)(]*\)|\w+)\^(\([^)]*\)|\w+)은 (내가 추가 한 ()

그러나 일반적으로, 내가 생각하지 않는 regex가 올바른 방법입니다. 나 자신을 구현하려고 시도하는 대신 괄호 파싱을 할 수있는 라이브러리를 찾으려고 노력할 것이다.

관련 문제