JavaScript - 특정 문자열의 포함 여부 확인 (includes, 정규표현식)

자바스크립트에서 includes(), 정규 표현식을 이용하여 문자열에 어떤 문자 또는 문자열이 포함되어있는지 확인할 수 있습니다. 예제와 함께 함수 사용 방법을 알아보겠습니다.

1. includes() : 문자열 포함 여부를 Boolean으로 리턴

includes(String)는 문자열 안에서 인자로 전달된 문자열이 있다면 true를 리턴하고, 그렇지 않다면 false를 리턴합니다. includes()도 대소문자를 구분하여 문자열을 찾습니다. 단순히 문자열 포함 여부만 확인할 때는 indexOf()보다는 includes()를 사용하시는 것이 가독성이 좋습니다.

const str = 'Hello, World, Javascript';

console.log('1: ' + str.includes('Hello'));
console.log('2: ' + str.includes('hello'));
console.log('3: ' + str.includes(','));
console.log('4: ' + str.includes('World'));
console.log('5: ' + str.includes('Java'));

Output:

1: true
2: false
3: true
4: true
5: true

2. test() : 정규 표현식으로 문자열 포함 여부 확인, Boolean으로 리턴

test(String)는 인자로 전달된 문자열에서 정규표현식에 해당하는 문자열이 있다면 true를 리턴, 그렇지 않다면 false를 리턴합니다. includes()와 동일하지만 대신 정규표현식으로 문자열을 찾는다고 생각하시면 됩니다.

regex = /[a-zA-Z]{5},/;

console.log('1: ' + regex.test('Hello,'));
console.log('2: ' + regex.test('hello,'));
console.log('3: ' + regex.test('HELLO,'));
console.log('4: ' + regex.test('HELLO!!'));

Output:

1: true
2: true
3: true
4: false

3. match() : 정규 표현식으로 문자열 찾기

match(Regex)는 문자열에서 인자로 전달된 정규표현식에 해당하는 문자열을 찾습니다. 정규표현식은 대략 /pattern/flags 형태로 입력하는데, 아래 예제에서 flags에 해당 하는 g는 일치하는 모든 문자열을 찾으라는 의미입니다. 결과를 보면 일치하는 2개의 문자열이 모두 리턴되었습니다. [a-zA-Z]{5}, 패턴을 간단히 설명하면 대소문자를 구분하지 않는 알파벳이 5개 있고 마지막에 ,로 끝나는 문자열을 의미합니다.

const str = 'Hello, World, Javascript';
regex = /[a-zA-Z]{5},/g;

result = str.match(regex);

console.log(result);
console.log('length: ' + result.length);
console.log('result[0]: ' + result[0]);
console.log('result[0]: ' + result[1]);

Output:

[ 'Hello,', 'World,' ]
length: 2
result[0]: Hello,
result[0]: World,
Loading script...
codechachaCopyright ©2019 codechacha