[TIL / JavaScript] 정규 표현식 (2)

Changyun Go·2021년 12월 13일
0
post-thumbnail

[TIL / JavaScript] 정규 표현식 (2)

이스케이프


  • 이스케이프( \ )는 메타 문자로 지정되어 있는 문자를 메타 문자가 아닌 문자 그대로의 값으로 변환할 때 쓰인다.
const gugudan = "(9 * 9.0) = 81";
const find = gugudan.match(/\(\d \* \d\.\d\) = \d+/);
console.log(find); // (9 * 9.0) = 81
  • '*'와 '.'은 정규식에서 메타 문자로 사용되고 '('와 ')'는 정규식에서 그룹이나 룩어헤드 등을 나타낼 때 쓰이기 때문에 이스케이프 하여 그대로의 문자로 사용한다.

앵커


  • 특정 문자열로 시작 또는 끝나는 문자열을 검색할 때 기준이 되는 기호를 말한다.
  • 캐럿 기호 ^는 텍스트의 시작, 달러 기호 $는 텍스트의 끝을 나타낸다.
let str1 = "Mary had a little lamb";
alert( /^Mary/.test(str1) ); // true

^Mary 패턴으로 텍스트가 Mary로 시작하는지 검사할 수 있다.

let str1 = "it's fleece was white as snow";
alert( /snow$/.test(str1) ); // true

snow$ 패턴으로 텍스트가 snow로 끝나는지 검사할 수 있다.

캡처


  • 패턴을 그룹으로 지정하여 사용할 수 있는 개념을 말한다.
  • 괄호 안의 패턴은 변수처럼 재사용할 수 있으며, 이때 기호 $를 사용한다.
// 괄호는 그룹을 의미한다.
var pattern = /(\w+)\s(\w+)/;
var str = "coding everybody";
var result = str.replace(pattern, "$2, $1");
console.log(result); // everybody coding

$2와 $1은 각각 두 번째 그룹과 첫 번째 그룹을 의미한다. 따라서 두 그룹의 순서가 뒤집혀 coding과 everybody의 순서가 역전되었다.

P.S

✍️ 처음에 정말 이해하기 어려웠던 정규식이었는데, 계속 정리하고 활용하면서 이제는 좀 친숙해진 것 같은 느낌이 든다😄

이제 자바스크립트 문법을 좀 더 심도 있게 살펴보려고 한다. 프로젝트를 하면서 숙달시키는 것도 중요하지만, 이제 다시 학습의 시기가 온 것 같다🤓

Reference


0개의 댓글

관련 채용 정보