JavaScript의 정규 표현식 실제 응용 상세 정보

실제 작업에서는 JavaScript 정규 표현식이 자주 사용됩니다.그래서 이 부분의 지식은 매우 중요하다.

1. 기초 문법:


첫 번째: 글꼴 구문

var expression=/pattern/flags;
두 번째: RegExp 구조 함수 구문

var pattern = /\w/gi;  // 
var pattern = new RegExp('\\w', 'gi');// , 
여기서 주의점은 정규 표현식이 동적이라면 두 번째만 선택할 수 있다는 것이다.
그중에 플래그는 3개의 로고가 있어요.
g: 첫 번째 일치 항목을 발견할 때 멈추지 않고 모든 문자열에 적용되는 전역 모드를 나타낸다.
i: 대소문자 모드를 구분하지 않습니다. 즉, 일치하는 항목을 정할 때 모드와 문자열의 대소문자를 무시합니다.
m: 여러 줄 모드를 표시합니다. 즉, 한 줄의 텍스트 끝에 도달했을 때 다음 줄에 모드와 일치하는 항목이 있는지 계속 찾습니다.
물론 다른 플래그도 있는데, 사용한 것은 극히 적고, 너무 많이 논술하지 않는다.
위의\w가 무슨 뜻인지 잠시만요. 계속 아래를 보세요.

방법


주로 테스트 (), 검색 (), match (), Replace () 가 있습니다.물론 또 다른 많은 방법이 있는데, 논술하지 않으면, 어쨌든 매우 적게 쓰인다.
1. test() 방법의 사용
어떤 문자열에 해당하는 문자열이 있는지 판단하기
2. search() 방법의 사용
해당 문자열이 처음 나타나는 색인 위치를 검색하고 찾을 수 없으면 -1 반환
3. match() 방법의 사용
일치하는 그룹 되돌리기
4. Replace () 방법의 사용, 이것은 여전히 매우 많이 사용된다
해당 문자열 일치 후 다른 문자열로 교체

3. 일치 표현식과 실전


1. 단언:
단언이란 어떤 조건하에서 일치하는 것을 나타내는 것이다.어쨌든, 개념이 좀 복잡하니, 바로 다음 문장을 보아라.내가 천천히 계속할게.
문자
묘사
^
시작 일치
$
일치 끝
\b
일치하는 단어의 경계
\B
단어가 아닌 경계 일치
예를 들다
문자열을 일치시키려고 합니다. 시작부터 끝까지 dog입니다. 대소문자를 무시합니다.

var pattern = /^dog$/i;// 

console.log(pattern.test('dog'));//true
console.log(pattern.test('sdfdog'));//false
console.log(pattern.test('dog56'));//false
console.log(pattern.test('dOG'));//true

var pattern = /\b\w+/g;// , +, , 1 

console.log('Hello World'.match(pattern));// ['Hello','World'], match , 。
여기서\b는 일치하는 단어의 경계이고\B는 일치하지 않는 단어의 경계입니다.소문자 하나, 대문자 하나, 대문자 하나는 반의이다.그럼 내가 더 말할 필요 없겠네.
그리고 다음 단어의 경계는 아마 많은 사람들이 단어의 경계를 잘 모를 것이다
제가 좀 설명해 드릴게요. 예를 들면 Hello World 단어 경계가 네 개예요. 각각 H위치, o위치, W위치, d위치예요.
2, 문자 클래스:
메타문자
묘사
.
줄 바꿈과 줄 끝자를 제외한 단일 문자 찾기
\w
[A-Za-z0-9_] 와 같은 단어 문자 찾기
\W
단어가 아닌 문자를 찾습니다. [^A-Za-z0-9_]
아래의 반의는 더 이상 나열되지 않는다.
\d
[0-9]에 해당하는 숫자 찾기
\s
빈 문자 찾기
\0
NULL 문자 찾기
줄 바꿈 찾기
\f
페이지 바꾸기 찾기
\r
리턴 문자 찾기
\t
탭 찾기
\v
수직 탭 찾기
3. 범위:
문자
묘사
[abc]
a, b, c의 임의의 문자와 일치
[^abc]
일치는 a, b, c의 임의의 문자가 아니다
[0-9]
0-9 임의의 범위의 숫자를 일치시키고, 같은 이치로 [a-z] 임의의 범위의 문자를 일치시킨다
[a-z]
a에서 z 사이의 임의의 문자와 일치
x|y
x 또는 y 일치
4. 양사:
문자
묘사
n+
하나 이상의 문자열을 포함하는 문자열 일치
n*
0 개 이상의 n을 포함하는 문자열 일치
n?
0개 또는 n을 포함하는 문자열 일치
n{x}
n이 포함된 문자열 일치
n{x,y}
최소 x 개, 최대 y 개의 문자열 일치

넓히다


10-36 사이의 숫자 일치

var pattern = /1[2-9]|[2-3][0-9]|4[0-6]/;//12-46

console.log(pattern.test(11));//false
console.log(pattern.test(12));//true
console.log(pattern.test(20));//true
console.log(pattern.test(36));//true
console.log(pattern.test(46));//true
console.log(pattern.test(47));//false

'Hello, World!Hello의 Hello를 Welcome로 교체합니다.
여기에서 주로 Replace 방법이 정규에서 사용되는 것을 강조한다. 왜냐하면 이것은 실제에서 사용하는 것이 매우 많기 때문이다.뒤에 있는 flags의 g를 더하면 더하지 않는 것과 큰 차이가 있다.

var pattern = /Hello/g;

var oldString = 'Hello,World!Hello';
var newString = oldString.replace(pattern, 'Welcome');
console.log(newString);//Welcome,World!Welcome

총결산


JavaScript의 정규 표현식에 대한 실제 응용에 관한 이 글을 소개합니다. 더 많은 JavaScript 정규 표현식 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기