2014-11-12 2 views
0

웹에서 자바 스크립트 배열을 가져 오기 위해 "스카프"를 만들려고합니다.RegExp in Javascript- (. *)가 예상대로 작동하지 않습니다.

var paradas = [["name1", 12,....], ["namen", 24,..]]; 

은 여기 소스 코드의 페이지 http://pastebin.com/SZhtL404입니다.

같은 regExp는 PHP 나 awk와 같은 다른 언어에서도 작동하지만 자바 스크립트에서는 작동하지 않습니다.

html = html.replace(/\n/g,''); //I delete the \n -> it works 

var re = /(var\s*paradas\s*=\s*)(\[(.*?)\];)/g; 

var result = re.exec(html); -> it returns null. 

해당 reg식이 잘못되었습니다. 대신이

var re = /(var\s*paradas\s*=\s*)(\[(.*?)\];)/g; 

답변

0

해결 이제

result[0] == 'var paradas = [["name1", 12,....], ["namen", 24,..]];' 

result[1] == 'var paradas =' 

result[2] == '[["name1", 12,....], ["namen", 24,..]];' 
+0

실제로 넣어주세요. 외부에서) 더 쉬운 파싱을 위해 – Sergey

+0

나는 새 것이므로, 나는 대답하려고 노력하지만, 나의 반응은 너보다 높다. – rossig7

0

확인이

var re = /(var\s*paradas\s*=\s*)(\[([^;]+)\];)/g; 

,보십시오.

(콘솔에 대한 결과를보고 \ r에 대해 알기 위해) \ r을 삭제해야했습니다.

마지막 코드는 다음과 같습니다

html = html.replace(/(\n|\r)/g,'');    
var re = /(var\s*paradas\s*=\s*\[([^;]+)\]);/; 

지금 입술 [0] 내가 기대 한 것. 감사합니다 serg 및 귀하의 도움을 위해 esquew.

또한 다음과 같이 작동합니다. var re = /(var\s*paradas\s*=\s*\[(.*?)\]);/;

관련 문제