채소새 읽기 jQuery 2.0.3 원본 분석 시리즈(2)
2737 단어 jquery
원문은 여기에 연결되어 있는데, 풋내기로서 나는 읽으면서 썼다
jQuery 2.0.3 원본 분석 시리즈
저는 풋내기입니다. 나무가 입문이 있거나 방금 JS입문이 닿지 않은 것을 추천합니다. 어른들의 사정을 봐주세요. 같이 공부하고 싶은 Jser가 저에게 메시지를 남겨주세요.
오늘 조금만 써, 2편 jQuery 선택기
// A simple way to check for HTML strings
// HTML
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
// #id XSS
// Strict HTML recognition (#11290: must start with <)
// HMLT
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
이것만 보면 눈먼 두 글자를 어떻게 썼는지 알 수 있다.보아하니 결국에는 정규의 손아귀에서 벗어날 수 없을 것 같다.
내가 먼저 이 정규를 좀 분할할게.
^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$
?:\s*(<[\w\W]+>)[^>]*|#([\w-]*)
?:
\s*(<[\w\W]+>)[^>]*
|
#([\w-]*)
분할하면 위쪽입니다.?:|
이것은 정규적인 표현 방식일 것이다. 나는 문자 묘사를 보았지만 시종 좀 이해하지 못했다.전에 봤는데 또 까먹었어!!이따가 문장을 찾아서 복습해 보자.
\s*(<[\w\W]+>)[^>]*
//
\s*// , 、 、 。
<[\w\W]+>
// \w
。 “[A-Za-z0-9_]”。
// \W
。 “[^A-Za-z0-9_]”。
[^>]*// > 0
위의 이 정규는 첫머리에 공백이 없거나 여러 문자가 일치하는 것을 의미한다. 두 번째 문자는 <중간에 임의의 문자열이 하나 이상 있다(\w\W는 모든 문자를 포함한다) 다음 문자는 >이고 마지막 문자는 >이 아닌 끝의 문자열이다.
3. #([\w-]*))$
밑줄 및 -을 포함하여 끝 부분에 # 기호가 있는 문자와 일치
글 속의 이 한마디를 비꼬는 데는 정말 다른 뜻이 있다.
그렇게 이해해야지.# 번호로 시작하는 문자열의 끝과 일치합니다.
(?:pattern)
pattern에 일치하지만 일치하는 하위 문자열을 가져오지 않습니다. 즉, 이것은 일치하는 하위 문자열을 가져오지 않고, 일치하는 하위 문자열을 저장하지 않습니다.이것은 패턴의 각 부분을 조합하기 위해 "
(|)
"또는 문자를 사용하는 데 유용합니다.예를 들어 "industr(?:y|ies)
"은 "industry|industries
"보다 더 간략한 표현식이다.총괄적으로 말하면 위의 이 정규 표현식은 어떤 html 라벨과 #id와 일치하는지를 나타낸다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
jQuery 전후 예이 기사에서는 jquery after() 및 before() 메소드의 예를 볼 것입니다. before() 메서드는 선택한 요소 앞에 지정된 콘텐츠를 삽입합니다. after() 메서드는 선택한 요소 뒤에 지정된 콘텐츠...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.