사용자가 지정한 텍스트를 처리하는 C# 응용 프로그램의 새로운 기능을 연구 중입니다. 이 텍스트에는 임의의 문자가 포함될 수 있지만 중괄호 ({}) 또는 대괄호 ([]) 사이에있는 모든 것은 특별한 방법으로 처리됩니다 (기본적으로 대괄호 안의 텍스트는 다른 텍스트로 대체되며 중괄호는 주어진 텍스트의 하위 섹션은 다르게 처리됩니다.)사용자 지정 언어에서 이스케이프 문자 처리
그래서 사용자가 텍스트에 중괄호와 괄호를 사용할 수있게하려는 것이므로 처음에는 "{{"를 사용하여 "{"를 나타내고 다른 모든 특수 문자 , 그러나 이것은 문제를 줄 것이다. 그가 하위 섹션을 열려고하고 하위 섹션의 첫 번째 문자를 "{"로하고 싶다면 "{{{"을 쓰겠습니다. 그러나 하위 섹션 앞에있는 문자를 원하는 경우 쓰는 것과 똑같습니다. "{". 그래서 이것은 모호함을 야기합니다.
이제 "\"를 사용하여 중괄호와 대괄호를 이스케이프하고 "\\"을 사용하여 "\"를 나타낼 수 있다고 생각합니다. 그리고 나는 이것을 처리하는 방법을 알아 내고 있지만 휠을 재발 명하려는 느낌이 들었습니다. 내가하려는 일을하는 알려진 알고리즘이나 라이브러리가 있는지 궁금해.
문제는 그 종류 그들이 입력 할 텍스트의 대부분은 HTML과 XML 일 가능성이 있으므로 모든 '<' and '>'을 탈출해야합니다. – Ahmet
CDATA를 사용하지 않는 한. 이 접근법에 대한 다른 좋은 점은 나중에 언어를 재정의 할 필요가없는 기능을 추가하려는 경우입니다. 그것에 대해 생각할 것입니다 :) – Ahmet
HTML과 XML이라면 처리를 위해 맞춤 요소를 도입하는 것이 무엇이 문제입니까? –