JS 정규식 핵심 분석
이 글에서는 주로 JS 정규식의 핵심 내용을 공유합니다. 이전에 VueJS의 소스 코드를 보고 HtmlParser 부분을 봤기 때문에 이전에 보았던 정규식에 대한 기본 지식이 완전히 부족하다고 느꼈습니다. 블로그 정보를 뒤져보고 JS를 좀 정리해서 여러분과 SF 친구들이 읽기 쉽도록 정규식 중 어려운 부분을 정리했습니다.
정기 그룹핑
반복 매칭
반복 매칭을 위해 저희는 정규식의 그룹화 기능을 자주 사용하고, 이를 연습하기 위해 정규 매칭 IP 주소를 사용합니다.
일치시키려는 IP 주소가 0.0.0.0 - 255.255.255.255 사이라고 가정하면 직관적으로 이해할 수 있습니다. 세 자리 + 점을 세 번 일치시킨 다음 세 자리를 한 번 일치시키세요.
여기서 언급된 세 자리 숫자 + 마침표는 우리가 말하는 규칙입니다: d. {1,3}.
, 규칙을 괄호로 묶으면 (d{1,3}.)
그룹이 되므로 IP 주소와 일치하는 정규식은 다음과 같습니다. 작성: (d{1 ,3}.){3}d{1,3}
d{1,3}.
, 当我们把规则用括号包装后, 就变成了组: (d{1,3}.)
, 所以匹配IP地址的正则表达式可以写作: (d{1,3}.){3}d{1,3}
换种思路, 我们也可以这样匹配: d{1,3}(.d{1,3}){3}
拓展: 聪明的你可能已经想到,d{1,3}
匹配是有疏漏的. 在实际生产过程中,d{1,3}
可能匹配999
这种数字, 他是一个错误的IP地址段. 这里贴上真实的IP地址正则匹配供大家参考:((25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(25[0-5]|2[0-4]d|((1d{2})|([1-9]?d)))
, 另人愉快的是, 它使用的分组策略仍然是不变的.
后向引用(反向引用)
我们考虑一个很特殊的情况, 当我们要匹配四个IP段相同的情况, 如 100.100.100.100 时, 重复匹配分组的策略失效了: 重复匹配分组 并不能保证匹配相同的数字 -> 这时候我们需要借助 后向引用
策略的力量了(少年, 你渴望力量吗2333, 戳我头像, 带你探索音乐与代码交织的文艺道路.)
后向引用在不同语言的正则表达式书写中, 有不同的语法, 我们讨论JS中最常见的一种, 形如: number
的后向引用, 其中, number
代表分组的序号.
给你一个简单的栗子, 瞬间就记住了, 假使我们要匹配重复的三位数字, 我们将匹配一个数字的规则标记为一个分组: (d)
, 重复匹配这个分组(第一个分组)的具体内容
三次: (d)1
, 这样就达到了目的.
我们很容易将重复匹配和后向引用分别开来: 前者是重复匹配相同的规则, 后者是匹配分组的具体内容.
默认的一些规则需要稍加理解并记住:
위 내용은 JS 정규식 핵심 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

제목: DreamWeaver CMS의 보조 디렉터리를 열 수 없는 이유와 해결 방법 분석 Dreamweaver CMS(DedeCMS)는 다양한 웹 사이트 구축에 널리 사용되는 강력한 오픈 소스 콘텐츠 관리 시스템입니다. 그러나 때로는 웹사이트를 구축하는 과정에서 보조 디렉토리를 열 수 없는 상황이 발생할 수 있으며, 이로 인해 웹사이트의 정상적인 작동에 문제가 발생할 수 있습니다. 이 기사에서는 보조 디렉터리를 열 수 없는 가능한 이유를 분석하고 이 문제를 해결하기 위한 구체적인 코드 예제를 제공합니다. 1. 예상 원인 분석: 의사 정적 규칙 구성 문제: 사용 중

JavaScript에서 HTTP 상태 코드를 얻는 방법 소개: 프런트 엔드 개발에서 우리는 종종 백엔드 인터페이스와의 상호 작용을 처리해야 하며 HTTP 상태 코드는 매우 중요한 부분입니다. HTTP 상태 코드를 이해하고 얻는 것은 인터페이스에서 반환된 데이터를 더 잘 처리하는 데 도움이 됩니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. HTTP 상태 코드란 무엇입니까? HTTP 상태 코드는 브라우저가 서버에 요청을 시작할 때 서비스가

제목: Tencent의 주요 프로그래밍 언어는 Go: 심층 분석 중국 최고의 기술 회사로서 Tencent는 프로그래밍 언어 선택에 있어 항상 많은 관심을 받아 왔습니다. 최근 몇 년 동안 일부 사람들은 Tencent가 주로 Go를 주요 프로그래밍 언어로 채택했다고 믿고 있습니다. 이 기사에서는 Tencent의 주요 프로그래밍 언어가 Go인지에 대한 심층 분석을 수행하고 이러한 관점을 뒷받침하는 구체적인 코드 예제를 제공합니다. 1. Tencent에 Go 언어 적용 Go는 Google에서 개발한 오픈 소스 프로그래밍 언어로 효율성, 동시성 및 단순성으로 인해 많은 개발자에게 사랑을 받고 있습니다.

정적 측위 기술의 장점과 한계 분석 현대 과학 기술의 발달로 측위 기술은 우리 삶에 없어서는 안 될 부분이 되었습니다. 그 중 하나로서 정적 측위 기술에는 고유한 장점과 한계가 있습니다. 이 기사에서는 현재 적용 상태와 향후 개발 동향을 더 잘 이해하기 위해 정적 측위 기술에 대한 심층 분석을 수행합니다. 먼저, 정적 측위 기술의 장점을 살펴보겠습니다. 정적 측위 기술은 위치 지정하려는 물체를 관찰, 측정 및 계산하여 위치 정보를 결정합니다. 다른 측위 기술과 비교하여,

JavaScript 및 WebSocket: 효율적인 실시간 검색 엔진 구축 소개: 인터넷이 발전함에 따라 사용자는 실시간 검색 엔진에 대한 요구 사항이 점점 더 높아지고 있습니다. 기존 검색 엔진으로 검색할 때 사용자는 검색 버튼을 클릭해야 결과를 얻을 수 있습니다. 이 방법은 실시간 검색 결과에 대한 사용자의 요구를 충족할 수 없습니다. 따라서 JavaScript와 WebSocket 기술을 활용하여 실시간 검색 엔진을 구현하는 것이 화두가 되었습니다. 이 기사에서는 JavaScript의 사용법을 자세히 소개합니다.
