코딩언어/javascript

[자바스크립트]match와 new RegExp()

민트초코수장 2021. 1. 17. 13:07

 

match

 

match()함수는 특정 문자열에서 검색 혹은 특정 문자를 찾기 위해서 사용합니다.

비슷한 함수로는 indexOf()가 있는데 indexOf()는 위치값을 인덱스로 반환하기 때문에 위치 확인할 때 사용합니다.

하지만 match()는 문자열이 존재한다면 그 문자열을 출력합니다.

 

여기서 match를 사용하는 방법은 2가지로 나뉘는데

 

하나는 문자열

하나는 정규표현식 입니다.

 


 

문자열

 

 

문자열 같은 경우는 특정 문자열이 있는지 검색할 때 사용하며

 

반환값은 배열로 이루어져 검색한 값그 값의 인덱스,

 

들어온 문자열, 정규표현식에서 사용하는 그룹으로 나누어져 있습니다.

 

아래의 예시에도 if문을 사용해서 존재한다면 실행시키는 방식으로 사용합니다.

 

여기서 검색한 문자열이 없다면 반환값으로 null를 반환합니다.

 


 

정규표현식

 

정규표현식은 문자열과 다르게 원하는 검색 조건을 넣어 조건에 맞는 문자들을 검색할 수 있습니다.

문자들 뿐만 아니라 특정 패턴을 검색하는 것 또한 가능합니다.

example
result

위의 사진처럼 정규표현식으로 하면 배열로 나올 수 있습니다. 

 


 

문자열로 문자를 검색하고 싶을 때

 

그럴때는 RegExp 객체를 사용하면 됩니다.

 

RegExp는 생성자로 패턴을 사용해 텍스트를 판별할 때 사용하는데 

이런식으로 텍스트를 비교해도 정규표현식처럼 사용할 수 있게 해줍니다.

이런식으로 함수에서 받아온 파라미터도 사용할 수 있습니다.

RegExp 객체는 다른 여러 경우에도 사용하는데

 

간단하게 자주 사용하는 것을 말씀드리면

 

RegExp.exec( ) 는 검색하는 패턴이나 문자가 처음 나오는 것을 반환합니다.

 

RegExp.test( ) 는 일치하면 true 불일치하면 false를 반환합니다.

 

여기서 exec와 test는 실행하고나면 lastIndex를 0으로 설정하기 때문에

다음에 또 실행하게 되면 무조건 false나 null를 반환하게 됩니다.

 


 

여기까지 match( ) 함수 사용방법에 대해 써보았습니다.

 

정규표현식을 잘 활용하면 할수록 match함수의 활용성은 올라갑니다.

 

암호같이 생긴 정규표현식을 좀 더 공부해서 다음에는 더 다양한 응용방법에 대해 써보겠습니다.

반응형