![[reg] BackReference](/_next/image?url=%2Fimages%2Fempty.png&w=2048&q=75)
0
목차
08. 역참조 사용하기
역참조로 찾기
치환 작업 수행하기
대소문자 변환하기
08. 역참조 사용하기
2022년 9월 9일- 역참조란? 정규표현식 패턴으로, 앞서 일치한 부분을 다시 가리킴 🔑 역참조를 변수와 비슷하게 생각해도 됨 🔑
역참조로 찾기
예시비교
- 예시
today, I feel like like blue.
i i think this is just part of of my life.
| 대입식 | 매칭결과 |
|---|---|
[ ]+(\w+)[ ]+\1 | today, I feel like like blue i ithink this is just part of of my life. |
📌 \1는 앞서 일치한 하위표현식을 참조함을 의미함
* `\1`은 정확히 처음 사용한 하위표현식과 일치한다는 뜻
* `\2` -> 두번째 하위표현식 참조
* `\3` -> 세번째 하위표현식 참조
📌 역참조 문법은 정규표현식 구현에 따라 크게 다름(자바스크립트는 역슬래시(\)대신에 달러($)표시를 사용)
📌 역참조는 참조하는 표현식이 하위표현식일 때(하위표현식 괄호로 감싸져 있을때)만 동작
📌 \0 이라고 하면 표현식 전체를 의미함
치환 작업 수행하기
예시비교
- 예시
010-2341-5679
| 대입식 | 치환식 |
|---|---|
(\d{3})(-)(\d{4})(-)(\d{4}) | ($(1)) $(3)-$(5) |
| 치환결과 |
|---|
| (010) 2341-5679 |
📌 010-2341-5679를 5개로 쪼개어 치환작업을 하였다.
대소문자 변환하기
| 메타문자 | 설명 |
|---|---|
| \E | \L 혹은 \U 변환의 끝을 나타냄 |
| \I | 다음에 오는 글자를 소문자로 변환 |
| \L | \E를 만날 때까지 모든 문자를 소문자로 변환 |
| \u | 다음에 오는 글자를 대문자로 변환 |
| \U | \E를 만날때까지 모든 문자를 대문자로 변환 |
예시비교
- 예시
<H1>Welcome to my home</H1>
| 대입식 | 치환식 |
|---|---|
(<Hh>1)(.*?)(</Hh>1) | $1\U$2\E$3 |
| 치환결과 |
|---|
<H1>WELCOME TO MY HOME</H1> |
📌 역참조는 텍스트를 검색하고(match), 치환(replce)하는데 매우 유용하다