JavaScript의 정규식 변수
regex라고도 하는 정규식은 일치시킬 텍스트 패턴을 정의하는 일련의 문자입니다. 정규식은 문자열에만 사용되는 개체입니다.
정규식과 사용 가능한 다양한 문자 클래스 및 플래그에 대해 자세히 알아보려면 공식 문서를 확인하세요. 이 기사에서는 JavaScript의 정규식에 대해 간단히 설명합니다.
JavaScript에서 템플릿 리터럴을 사용하여 정규 표현식에서 변수 사용
JavaScript에서 정규식을 정의하는 방법에는 두 가지가 있습니다. 하나는 패턴이 슬래시 /
로 묶인 정규식 리터럴을 사용하는 것이고 다른 하나는 RegExp
객체의 생성자 함수를 호출하는 것입니다. 이 생성자 함수는 두 개의 매개변수를 사용합니다. 첫 번째는 pattern
이고 두 번째는 flag
입니다.
이 자습서에서는 RegExp
개체의 생성자 함수를 사용하고 JavaScript에서 정규식 내에서 변수를 사용하는 방법을 살펴봅니다. 아래 예에서는 다양한 문자와 숫자를 연결하는 inputString
을 사용했습니다.
여기서 우리의 목표는 패턴을 생성하여 RegExp
생성자 함수에 전달하고 문자열 내의 모든 숫자를 단어로 바꾸는 것입니다.
let inputString = "I work at 1. Android is developed by 2.";
RegExp
생성자 함수는 패턴을 첫 번째 매개변수로 사용하므로 pattern
이라는 새 변수를 생성해 보겠습니다. 이 변수 내 문자열 내부의 숫자를 검색하는 \\d
를 전달합니다.
pattern
변수를 \\b
문자로 묶고 RegExp
생성자 함수의 첫 번째 인수로 전달합니다. 그러나 pattern
변수를 \\bpattern\\b
로 전달하면 잘못된 이스케이프 시퀀스
오류가 발생하여 작동하지 않습니다.
이것이 작동하려면 템플릿 리터럴이나 템플릿 문자열을 사용해야 합니다. 전체 문자열을 백틱 문자로 묶은 다음 pattern
변수를 추가할 때마다 ${}
를 사용하고 아래 코드와 같이 중괄호 안에 pattern
변수를 전달합니다. 단편.
코드 스니펫 - 자바스크립트:
let pattern = "\\d";
let re = new RegExp(`\\b${pattern}\\b`, 'gi');
console.log(inputString.replace(re, "Google"));
그런 다음 gi
를 RegExp
생성자 함수의 두 번째 인수로 전달합니다. g
는 전체 입력 문자열에서 전역 검색을 수행하고 i
는 replace
기능 내에 제공된 특정 단어의 모든 인스턴스를 대체합니다.
그런 다음 re
(정규식) 변수 내에 RegExp
생성자 함수의 결과를 저장합니다. 마지막으로 inputString
에서 문자열 replace()
함수를 사용하고 정규식을 첫 번째 매개변수로 전달하고 일치하는 것으로 대체된 새 단어를 전달합니다.
출력:
I work at Google. Android is developed by Google.
이 경우 숫자 1
과 2
를 Google
이라는 단어로 바꾸려고 합니다. 따라서 re
변수 내부에 저장된 정규식은 inputString
내에서 이 두 숫자를 찾은 다음 replace()
기능을 사용하여 이 숫자를 Google
이라는 단어로 대체합니다.
Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.
LinkedIn