나는 어떤 종류의 파서를 구현 중이므로 json 객체 을 다른 반 구조화 된 데이터에 삽입하고 비 직렬화해야합니다.중첩 된 json 객체와 일치하는 정규식
\\{\\s*title.*?\\}
객체에게
{title:'Title'}
을 찾을 수 있지만 표현은 단지 첫 번째 중괄호를 닫는 발견 일치하기 때문에 중첩 된 객체와 함께 작동하지 않습니다 : 저는 정규 표현식을 사용했다.
{title:'Title',{data:'Data'}}
을 위해 그것은
{title:'Title',{data:'Data'}
그래서 문자열이 직렬화에 대한 무효가 일치합니다. 욕심 많은 사업이 고려되고 있지만 정규식에 익숙하지 않다는 것을 알고 있습니다. 가능한 닫는 중괄호를 모두 사용하도록 표현을 확장하도록 도와주십시오.
는업데이트 :
가 명확하게하려면,이 포함 된 JSON과 HTML + JS 같은 반 구조화 된 데이터에서 JSON 데이터를 추출하기위한 시도이다. 나는 추출한 JSON을 실제로 파싱하기 위해 GSon JAVA lib를 사용하고 있습니다.
은 조심 "OMG, 그것은 eevil의 정규식을 사용하지 마십시오!" – SmokeyPHP
..하지만 모든 진지한 - 왜? 무엇을 손에 넣을 데이터이고, 그걸로 무엇을 성취해야합니까? – SmokeyPHP
@ViktorStolbin 미리 만들어진 JSON 파싱 라이브러리가 있습니다. 또한 JSON은 일반 언어가 아니기 때문에 HTML과 마찬가지로 정규 표현식으로 올바르게 파싱 할 수 없습니다. –