나는 자바 스크립트를 배우고 있으며 기존 코드를 분석하고 있습니다.자바 정규식 "단일 공백 문자"
저의 JS 참고 서적에서 "\s
"이라는 단일 공간을 검색한다고 말합니 까?
그러나 내가 가지고, 그것은 실제 공간을 사용 \s
를 사용하여 코드
obj.match(/Kobe Bryant/);
대신 우연히 만났다?
왜이 오류가 발생하지 않습니까?
나는 자바 스크립트를 배우고 있으며 기존 코드를 분석하고 있습니다.자바 정규식 "단일 공백 문자"
저의 JS 참고 서적에서 "\s
"이라는 단일 공간을 검색한다고 말합니 까?
그러나 내가 가지고, 그것은 실제 공간을 사용 \s
를 사용하여 코드
obj.match(/Kobe Bryant/);
대신 우연히 만났다?
왜이 오류가 발생하지 않습니까?
문자 클래스 \s
은 공백 문자뿐만 아니라 다른 Unicode white space characters도 포함합니다.
[\t\n\v\f\r \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]
+1, 아마 다른 사람보다 링크를 가져 오는 데 더 오래 걸렸을 것입니다 :-) –
데이터를 인코딩하는 모든 사람이 "하나의 참된 공간 char", " '모든 공백 사용자가 나를 보낼 수 있습니다'. \ s는 거의 항상 원하는 것이지만 조심해야합니다 ... 바이너리 데이터를 인코딩하는 경우 'spacebar' '\ u0020' – Ajax
아니요 정규식에 리터럴 공백을 포함하는 것이 합법입니다.
그러나 동등하지 않습니다. \s
에는 탭, 줄 바꿈하지 않는 공백, 반자 공백 및 기타 문자를 포함한 공백 문자가 포함되지만 리터럴 공백은 일반 공백 문자에만 적용됩니다.
\s
은 탭 등 공백 문자와 일치합니다. 문제없이 문자 그대로의 공간을 사용할 수 있습니다. 마찬가지로 숫자를 나타내는 데 \d
대신 [0-9]
을 사용할 수 있습니다.
일반 공백 이외에도 \s
은 탭 (구성에 따라 줄 바꿈 문자가있을 수 있음)을 포함하여 여러 종류의 공백 문자와 일치합니다. 즉 보통 공간과 일치하는 것이 특히 유효합니다. 일반적으로 정상적인 공간으로 구분되는 이름과 일치하려는 경우에 특히 그렇습니다.
MDN 정규식 페이지입니다 JS 정규 표현식과'RegExp' 개체를 처리하는 좋은 자원 : https://developer.mozilla.org/docs/Web/JavaScript
\s
이 문자 클래스에 해당/Reference/Global_Objects/RegExp – toolbear