2013-05-13 5 views
1

서버에 요청을 열고 자바 스크립트 출력을받는 스크립트가 있습니다.루비의 재귀 정규 표현식

이 출력은 다음과 같습니다; 마크 = 새 Array();

HTML = 새 Array() html.push ('html 태그 (뭔가 내가 원하는) 더 html로'); mark.push (새 Obj (-12.1231231, -12.12312312312)), html.push ('html 태그 (원하는 것이 더 많은 HTML)'); (새로운 Obj (-12.1231231, -12.12312312312)), html.push ('html 태그 (원하는 것이 더 많은 HTML)'); mark.push (새로운 Obj (-12.1231231, -12.12312312312)); (새로운 개체 (-16.630495852614, -12.1231231, -12.12312312312)), html.push ('html 태그 (원하는 것이 더 많은 html)'), mark.push (새 Obj (-12.1231231, -12.12312312312)), OtherStuf.idontcare -49.264667191591), 13);

는 내가 모든 것을 수행 할 수있는 정규 표현식을 만들려면 :

html.push ('html 태그 (내가 원하는 것을) 더 HTML : (something i want)new Obj(-12.1231231, -12.12312312312)에 숫자를이 부분에서 이렇게 '); mark.push (새 확대 개체 (-12.1231231, -12.12312312312))

난 단지 싶어 :

(something i want) 
-12.1231231 
-12.12312312312 

하지만이 모든 장소에 대해이 찾으십시오.

내가 모든 내부 내용을

/^html = new Array\(\);mark = new Array\(\);(.*)OtherStuf.idontcare\(new Object\([\+\-\.0-9]*, [\+\-\.0-9]*\), [\d]*\);$/ 

을이 정규식을 만들었지 만 지금은 좀 붙어의입니다. 나는 내가 필요로하는 정보를 취하는 어떤 방법을 볼 수 없다.

어떻게하면됩니까?

내 정규 표현식과 요점과 내가 구문 분석하는 데 필요한 자바 스크립트의 예 : https://gist.github.com/NicosKaralis/5571240

+0

당신이 HTML 마크 업을 구문 분석 할 수있는 정규 표현식을 작성하려고 :

내가 먼저 블록으로 분할 한 다음 각각에 정규식을 실행하는 것이 좋습니다? 그렇다면 불가능합니다. – akonsu

+0

JavaScript로 뒤죽박죽 된 코드 조각을 다시 쓰는 것으로 보입니다. – tadman

+0

html 마크 업을 파싱하고 싶지 않습니다. 일부 HTML 마크 업을 포함하고있는 js를 파싱하고 싶습니다. 그러나 그 중 일부 포인트 만 –

답변

0

하나의 정규식 당신이 원하는 원하는 처리 할 수 ​​없습니다.

output.split(/html\.push/).each do |block| 
    # grab "something i want" and the numbers in block 
end