따옴표 붙은 문자열과 이스케이프 된 따옴표의 일치에 대해 한 번만 answered a question했습니다.정규식 일치가 완료되지 않았습니다.
그것은 예를 들어, (OutOfMemoryException
와) 모노에 .NET 및 충돌에 걸 경우가있는 것 같습니다 :
var reg = new Regex(@"^""([^\\""]*(\\"")*(\\[^""])*)*""");
reg.Match("\" ");
두 질문 :
이1) 왜 이런 일이 않는가?
2)이 정규식을 향상시키는 방법은 무엇입니까? 모든 "기능"을 보존하고 싶습니다.
이것은 아마도 [치명적인 백 트랙킹] (http://www.regular-expressions.info/catastrophic)의 사례 일 수 있습니다. html). 연결된 질문에 더 좋은 대답이 있습니다. –
FYI, Javascript의 Regex 엔진을 사용하여 표현식을 사용할 수 있습니다. http://www.rexfiddle.net/slfowcR – qJake
그냥 아이디어 - 왜 정규식을 사용하여 실제로해야합니까? 문자열을 구문 분석하기 위해 간단한 상태 시스템을 작성하는 것이 더 쉽지 않을까요? 당신은 당신이 제공 한 것과 같은 경우에 기하 급수적으로 비싸게 만드는 모든 역겨운 백 트랙을 해결할 것입니다. – Luaan