Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 정규식 매칭에 변수를 활용하는 방법

JavaScript에서 match() 메서드를 사용할 때, 일치시킬 패턴을 변수로 전달할 수 있습니다. 문자열 리터럴 대신 변수 이름을 그대로 인자로 넘기면 되며, 문법은 다음과 같습니다.

console.log(yourVariableName.match(yourMatchingVariableName));

예제

아래 예제에서는 문장과 찾고자 하는 단어를 각각 변수에 담은 뒤, RegExp 생성자를 이용해 정규식 객체를 만들어 match()에 전달합니다.

var sentence = 'My Name is John';
console.log("원본 문자열=");
console.log(sentence);
var matchWord = 'John';
console.log("일치시킬 값=");
console.log(matchWord);
var matchRegularExpression = new RegExp(matchWord, 'g');
console.log(sentence.match(matchRegularExpression));

코드 설명:

  • sentence: 검색 대상이 되는 원본 문자열입니다.
  • matchWord: 찾고 싶은 단어를 담고 있는 변수입니다.
  • new RegExp(matchWord, 'g'): 변수 값을 기반으로 정규식 객체를 생성합니다. 두 번째 인자인 'g'(global) 플래그는 문자열 내에서 일치하는 모든 결과를 반환하도록 합니다.

프로그램 실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력하면 됩니다.

node fileName.js

여기서는 파일 이름을 demo107.js로 가정하겠습니다.

node demo107.js

실행 결과

위 코드를 실행하면 다음과 같은 출력을 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo107.js
원본 문자열=
My Name is John
일치시킬 값=
John
[ 'John' ]

출력 결과에서 볼 수 있듯이, match()는 일치하는 부분을 배열 형태로 반환합니다. 만약 일치하는 값이 없다면 null을 반환하므로, 실무에서는 반환값의 존재 여부를 함께 확인하는 것이 좋습니다.