Javascript 정규 표현식의 기본 사항 알아보기

정규식은 문자열에서 특정 패턴을 찾거나 바꾸는 데 사용되는 패턴 일치 기술입니다.

JavaScript에서는 RegExp 개체를 사용하여 정규식을 조작할 수 있습니다.

정규식은 다양한 문자열 처리 작업에 매우 유용하며 일반적으로 JavaScript 및 기타 프로그래밍 언어에서 사용됩니다.

이 블로그 게시물에서는 JavaScript에서 정규 표현식을 사용하는 방법을 다룹니다.

문자열을 선언할 때는 ‘를 사용하고 정규 표현식에는 /를 사용합니다.

이 점을 기억한다면 이미 절반은 알고 있는 것이다.


/무늬/
정규식 표현 방법

let str="hello"; // 문자열 선언
let pattern = /hello/; 정규표현식 선언

위와 같이 문자열과 정규식은 구조가 비슷하지만 정규식은 슬래시 안에 패턴이 포함되어 있음을 기억하고 아래 텍스트를 읽으십시오.

쉬운 목차

1. 정규 표현식의 기본 구문

정규 표현식 리터럴 및 RegExp 객체

정규식은 슬래시(/)로 묶어서 작성할 수 있습니다.

이를 정규식 리터럴이라고 합니다.

예를 들어 /hello/ 표현식은 문자열 “hello”와 일치합니다.

RegExp 개체를 사용하여 정규식을 만들 수도 있습니다.

new RegExp(‘hello’) 처럼 만들 수 있습니다.

문자열 일치

정규식을 사용하여 문자열에서 특정 패턴을 찾을 수 있습니다.

예를 들어 /hello/ 표현식은 문자열 “hello”와 일치합니다.

이를 텍스트 일치라고 합니다.

대문자와 소문자 참고

정규 표현식은 대소문자를 구분합니다.

예를 들어 /hello/ 표현식은 문자열 “hello”와 일치하지만 “Hello” 또는 “HELLO”와 일치하지 않습니다.

문자 집합 및 범위

정규식은 문자 집합과 범위를 표현할 수 있습니다.

대괄호(()) 안에 문자나 범위를 나열하여 표현합니다.

예를 들어, 식 (abc)는 문자열 “a”, “b” 또는 “c”와 일치합니다.

표현식(az)은 알파벳의 소문자 중 하나와 일치하는 문자열과 일치합니다.

선택적 문자

정규 표현식은 물음표(?)를 사용하여 선택적 문자를 나타냅니다.

예를 들어 /colou?r/ 표현식은 문자열 “color” 또는 “colour”와 일치합니다.

숫자 및 문자 클래스

정규식은 숫자 또는 특정 문자 클래스와 일치하는 문자열을 찾을 수 있습니다.

\d는 숫자를 나타내고 \w는 문자, 숫자 및 밑줄(_)을 나타냅니다.

2. 정규식 방법

수행하다()

exec() 메서드는 문자열에서 정규식과 일치하는 첫 번째 문자열을 찾습니다.

이 메서드는 일치하는 문자열을 반환하고 반환되는 값에는 일치하는 문자열 및 그룹 정보가 포함됩니다.

시험()

test() 메서드는 문자열이 문자열의 정규식과 일치하는지 여부를 테스트합니다.

문자열이 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

맞다()

match() 메서드는 문자열에서 정규식과 일치하는 모든 일치 항목을 찾아 배열로 반환합니다.

반환된 배열에는 일치하는 문자열과 그룹 정보가 포함되어 있습니다.

구하다()

search() 메서드는 문자열에서 정규식과 일치하는 첫 번째 문자열의 위치를 ​​반환합니다.

일치하는 문자열이 없으면 -1을 반환합니다.

대리자()

replace() 메서드는 문자열에서 정규식과 일치하는 문자열을 찾아 다른 문자열로 바꿉니다.

이 메서드는 일치하는 모든 문자열을 바꿉니다.

분할()

split() 메서드는 지정된 정규식으로 문자열을 분할하고 배열로 반환합니다.

예를 들어 /,/ 표현식은 쉼표로 구분된 문자열의 배열을 반환합니다.

// 문자열
let str="hello world";
// 정규표현식
let pattern = /hello/;

// 정규표현식 패턴을 사용해 문자열 매칭하기
console.log(pattern.test(str)); // true

// 문자열에서 일치하는 문자열 찾기
console.log(str.match(pattern));
// ( 'hello', index: 0, input: 'hello world', groups: undefined )

// 문자열 치환하기
console.log(str.replace(pattern, 'hi'));
// hi world

3. 특수문자

. (가리키다)

마침표(.) 임의의 문자대표. 예를 들어 /ab/ 표현식은 “a”와 “b” 사이의 모든 문자와 일치합니다.

* (별표)

별표 ~이다0개 이상의 문자

대표. 예를 들어 /a*b/ 표현식은 “ab”, “b”, “aab”, “abbbb” 등과 일치합니다.

+(더하기 기호) 더하기 기호(+)1자 이상

대표. 예를 들어 /a+b/ 표현식은 “ab”, “aab”, “abbbb” 등과 일치하지만 “a”가 없는 문자열(예: 예: “b”.

? (물음표) 물음표 (?)0 또는 1자

대표. 예를 들어 식 /a?b/는 “ab” 및 “b”와 일치합니다.

^ (캐럿) 캐럿(^)은문자열의 시작

대표. 예를 들어 /^hello/ 표현식은 “hello world”와 일치하지만 “world hello”와 일치하지 않습니다.

$(달러 기호) 달러 기호($)문자열의 끝

대표. 예를 들어 /world$/ 표현식은 “hello world”와 일치하지만 “world hello”와 일치하지 않습니다.

( ) (괄호)

괄호는 그룹을 나타냅니다.

예를 들어 /(hello)/ 표현식은 문자열 “hello”와 일치하지만 그룹 정보도 반환합니다.

( ) (대괄호) 대괄호는 문자 집합을 나타냅니다.

예: 식(abc)은 “a”, “b”, “c”와 일치합니다.

다음 중 하나와 일치하는 문자열

찾다

{ }(중괄호) 중괄호반복하다

대표. {n}은 n회 반복을 의미하고, {n,m}은 n 내지 m회 반복을 의미한다.

예를 들어 식 /a{2}/는 문자열 “aa”와 일치하고 /a{2,4}/는 문자열 “aa”, “aaa” 및 “aaaa”와 일치합니다.

\(백슬래시) 백슬래시()이스케이프 특수 문자

문자 그대로 해석할 수 있도록. 예를 들어 /\./ 표현식은 실제 마침표(.)와 일치하는 문자열과 일치합니다.

4. 패턴 비교 예시

이메일 주소 일치

/^\w+((\.-)?\w+)*@\w+((\.-)?\w+)*(\.\w{2,3})+$/

이메일 주소를 조회하는 정규식은 다음과 같습니다.

전화번호 일치

/^\d{3}-\d{3,4}-\d{4}$/

전화번호를 찾기 위한 정규식은 다음과 같습니다.

사회 보장 번호 일치

/^\d{6}-(1-4)\d{6}$/

주민등록번호를 찾기 위한 정규식은 다음과 같습니다.

URL 매칭

/^(https?:\/\/)?((\da-z\.-)+)\.((a-z\.){2,6})((\/\w \.-)*)*\/?$/

URL을 조회하는 정규식은 다음과 같습니다.

5. 정규표현식을 이용한 문자열 처리 예시

문자열에서 특정 패턴 추출

정규식을 사용하여 문자열에서 특정 패턴을 추출할 수 있습니다.

예를 들어 /(0-9)+/ 표현식은 문자열에서 숫자를 추출합니다.

문자열에서 HTML 태그 제거

정규식을 사용하여 문자열에서 HTML 태그를 제거할 수 있습니다.

예를 들어, 표현식 / 제거<\/?(^>)+>/gi 문자열의 모든 HTML 태그.

문자열에서 모든 숫자 제거

정규식을 사용하여 문자열에서 모든 숫자를 제거할 수 있습니다.

예를 들어 /(0-9)/g 표현식은 문자열에서 모든 숫자를 제거합니다.

대소문자를 문자열로 변환

정규식을 사용하여 문자열의 대소문자를 변환할 수 있습니다.

예를 들어 /(az)/g 표현식은 문자열에서 모든 소문자를 찾아 대문자로 변환합니다.

반대로 /(AZ)/g 표현식은 문자열에서 모든 대문자를 찾아 소문자로 변환합니다.

졸업 증서

이 블로그 게시물에서는 JavaScript에서 정규식을 사용하는 방법을 배웠습니다.

정규식은 문자열 처리 작업에서 매우 유용한 도구이며 다양한 문자열 처리 작업에 적용할 수 있습니다.

정규식 문법 및 메서드, 특수 문자, 실제 사용 예 등 다양한 주제를 다루었습니다.

이 글을 읽고 자바스크립트에서 정규표현식을 적극 활용하시기 바랍니다.