2011-09-08 2 views
13

jslint 메시지가 안전하지 않습니다. '.'. 라인jslint 메시지를 수정하는 방법 안전하지 않음 '.'

html = /<body.*?>([\s\S]*)<\/body>/.exec(responseText); 

에서

어떻게이 문제를 해결하려면?

업데이트

몸 후와의 \ 있도록 브래킷이있을 수 있습니다 특성을 닫기 전에? 사용할 수 없습니다. Javascript가 브라우저에서 실행 중이고 jQuery가 사용됩니다. 이 대신 문자열에서 본문 내용을 추출하는 가장 좋은 방법은 무엇입니까?

답변

16

정말 모든 것을 일치시키고 jslint 오류를 원하지 않으면이 방법을 시도해보십시오.

var everything = /.*?/;// not jslint acceptable 
var all = /[\w\W]*?/;// jslint acceptable 

기본적으로 그것은 모든 단어를 다루는 모든 단어 문자와 단어가 아닌 문자를 말합니다.

+0

약간 이상하게 들리지만 필요한 것. 감사. – phatmann

+2

나는 jslint가 완벽하게 명확한 정규 표현식에 대해 오류를 던지는 것을 매혹적으로 느낀다. 그러나 당신이 실제로하고있는 것을 난처하게 할 때 그것은 갑자기 훌륭하다. – timgeb

5

char (.) 또는 일부 지정되지 않은 문자 ([^x])를 허용하면 예상하지 못한 결과가 나올 수 있기 때문에 JSLint에서 확인하십시오. JSLint에서 체크가 켜져 있다면, 일치해야하는 것을 명시 적으로 표현하는 정규 표현식을 작성해야합니다.

체크를 끄고 싶지 않고 LINT가없는 오류를 원한다면 'body'의 'y'와 닫는 꺾쇠 괄호 사이에 '확인'으로 간주 할 항목을 결정하고 그 식으로 정규식을 작성하십시오.

+1

문자가 하나뿐이므로 '\ s?'는 그가 찾고있는 것일 수 있습니다. –

+0

@Py : body 요소에 특성이있을 수 있으므로 \ s입니까? 사용할 수 없습니다. 나는 질문을 업데이트했다. – Andrus

+0

@JAAulde : 감사합니다. body 태그 안에 전체 내용을 추출하고 싶습니다. javascript가 브라우저에서 실행 중이고 jquery가 사용됩니다. 나는 질문을 업데이트했다. – Andrus

16

regexp: true을 jsLint 옵션에 추가 할 수 있습니다.

관련 문제