2014-02-22 5 views
1

이것은 매우 간단한 질문입니다. 그러나이 언어를 일주일 동안 사용했기 때문에 대답이 나에게 찾아 오지 않았습니다. Regex이 무작위로 null이기 때문에 다음 두 행 사이에 오류가 발생하지만 null인지 확인하면 오류가 발생하지 않습니다. 이처럼Null인지 확인

var Regex = /\<span class="currency-robux">([\d,]+)\<\/span\>/ 
var PriceSelling = data.match(Regex)[1] 
+0

null을 검색했지만 찾을 수 없습니다. 2 분 전에 문자 그대로 검색했습니다. 죄송합니다 중복. – user3341815

+1

[정규 표현식으로 HTML 파싱하기] (http://stackoverflow.com/q/1732348/1348195). –

+1

@BenjaminGruenbaum : 그는 파싱을하지 않고 그냥 정규식의 일부와 일치합니다. 정규식은 괜찮습니다. – Bergi

답변

1

:

당신이 중 하나는 두 단계로 그것을 할 수
var Regex = /<span class="currency-robux">([\d,]+)<\/span>/; 
var PriceSelling = data.match(Regex); 
PriceSelling = PriceSelling ? PriceSelling[1] : ''; 

if (PriceSelling.length < 1) { 
    alert('Nothing!'); 
} 
+0

해당 부분을 고맙게 생각해 줘서 고맙겠습니다.하지만 for 루프에 있고 "잘못된 것"이기 때문에 continue 문을 사용하여 해당 ID를 건너 뛸 수 없습니다. 어떻게 수정하겠습니까? – user3341815

+0

@ user3341815'<1' 대신'> 0' 만 사용하십시오. – Toothbrush

1

:

var result = data.match(Regex); 
var PriceSelling = result != null ? result[1] : undefined; 

하거나 기본 결과는 하늘의 배열을 사용하여 OR 연산자를 사용

var PriceSelling = (data.match(Regex) || [])[1]; 
관련 문제