일부 엑셀 공식을 다른 시스템으로 변환하고 있으며 꽤 멋진 검색을 수행하고 마법을 대체해야합니다. 나는 Regex가이 경우 작업을위한 도구라고 생각하지만, 다른 어떤 아이디어가 있다면 나는 그것들을 듣고 싶다.방정식 찾기 및 바꾸기 (정규식?)
저는이 수식을 SQL 구문과 비슷한 것으로 만들기 위해 노력하고 있습니다. 또한 다음과 같은 대수 기호를 다루어야합니다.
9^2는 POWER (9,2)가되어야합니다. (A + 3)^3이 ((A + 3), 3) POWER가되어야합니다.
가장 좋은 방법은 무엇입니까?
차이가 나는 경우 C# 3.5를 사용하고 있습니다.
편집 : 나는 구문 분석 할 필요가 뭔가의 예 (전원 기호는 거의 다) :
때문에 중첩 된 괄호의 가능성"((({VAL(9286)}/1000) * {VAL(4648)}) + (({VAL(9609)}/1000) + ({VAL(6480)}/1000)) * {VAL(8574)})/({VAL(9286)}/1000 + {VAL(9609)}/1000 + {VAL(6480)}/1000) * (({VAL(9286)}/22.4)*34.38 + {VAL(9609)} + {VAL(6480)}) * ((1.075068 + 0.001*11.17019 * ((({VAL(9286)}/1000) * {VAL(4648)}) + (({VAL(9609)}/1000) + ({VAL(6480)}/1000)) * {VAL(8574)})/({VAL(9286)}/1000 + {VAL(9609)}/1000 + {VAL(6480)}/1000)+273.15)) + (100000*0.90755/((({VAL(9286)}/1000) * {VAL(4648)}) + (({VAL(9609)}/1000) + ({VAL(6480)}/1000)) * {VAL(8574)})/({VAL(9286)}/1000 + {VAL(9609)}/1000 + {VAL(6480)}/1000) + 273.15)^2))*4.1868/32)"
표현식이 그보다 복잡 할 수 있습니까 (예 : (a + 3)^(b + 5^(c + 3)))? 그렇다면 정규 표현식이 해당 작업에 가장 적합한 도구가 아닐 가능성이 큽니다. – Jens
예, 그렇습니다. 따라서 제 질문은 할 수 있습니다. 저는 정규 표현식 전문가가 아니며 상징 방정식에 대한 다른 구문 분석 기법에 대해 듣고 싶습니다. – Alex