정규표현식(정리 )
2021. 3. 29. 18:37ㆍ기타
정규표현식 구성
관련 문법 내용 | 기 호 | 의 미 |
기본 메타 문자 | . | 모든 문자와 일치 (한 문자) |
|(버티컬 바) | 왼쪽 혹은 오른쪽과 일치 | |
[^] | 문자 집합 구성원 중 하나와 일치 | |
- | 문자 집합 구성원을 제외하고 일치 | |
\ | 다음에 오는 문자를 이스케이프 | |
수량자 | * | 문자가 없는 경우나 하나 이상 연속하는 문자 찾기 |
*? | 게으른 * 문자 | |
+ | 문자 하나 이상 찾기 | |
+? | 게으른 + 문자 | |
? | 문자가 없거나 하나인 문자 찾기 | |
{n} | 정확히 요소와 n번 일치 | |
{m, n} | 요소와 m에서 n번 일치 | |
{n, } | 요소와 n번 이상 일치 | |
{n, }? | 게으른 {n, } | |
위치 지정 | ^ | 문자열의 시작과 일치 |
\A | 문자열의 시작과 일치 | |
$ | 문자열의 끝과 일치 | |
\Z | 문자열의 끝과 일치 | |
\< | 단어의 시작과 일치 | |
\> | 단어의 끝과 일치 | |
\b | 단어의 경계와 일치 | |
\B | \b와 반대로 일치 | |
특수한 문자 | [\b] | 역 스페이스 |
\c | 제어문자와 일치 | |
\d | 모든 숫자와 일치 | |
\D | /d와 반대 | |
\f | 페이지 넘기기 (form feed) | |
\n | 줄바꿈 | |
\r | 캐리지 리턴 | |
\s | 공백 문자와 일치 | |
\S | \s와 반대로 일치 | |
\t | 탭 | |
\v | 수직 탭 | |
\w | 영숫자 문자나 밑줄과 일치 | |
\W | \w와 반대로 일치 | |
\x | 16진수 숫자와 일치 | |
\0 (숫자) | 8진수 숫자와 일치 | |
역참조와 전후방 탐색 |
( ) | 하위 표현식 정의 |
\1(숫자) | 첫번째 일치한 하위 표현식, 두번째로 일치한 하위 표현식은 \2로 표기하는 방식 |
|
?= | 전방탐색 | |
?<= | 후방탐색 | |
?! | 부정형 전방탐색 | |
?<! | 부정형 후방탐색 | |
?(backreference)true | 조건 지정 | |
?(backreference)true|false | else 표현식 조건 지정 | |
대소문자 변환 | \E | \L 혹은 \U 변환을 끝냄 |
\I | 다음에 오는 글자를 소문자로 변환 | |
\L | \E를 만날 때까지 모든 문자를 소문자로 변환 | |
\u | 다음에 오는 글자를 대문자로 변환 | |
\U | \E를 만날 때까지 모든 문자를 대문자로 변환 | |
변경자 | (?m) | 다중행 모드 |
Tip 정리
문자열 제외처리
- 정규 표현식
^((?!<문자열>).)*$
- 설명 : 문자열을 미포함한 문장
문자열 제외+ 포함 조건 추가
- 정규 표현식
^(?=.*<문자열1>)(((?!<문자열2>).)*)$
- 설명 : 문자열2를 미포함되고, 문자열1을 포함한 문장
정규식 테스트 사이트
참고
- ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D1004lucifer.blogspot.com/2019/06/regex.html
'기타' 카테고리의 다른 글
Rasberry PI 4 무선인터넷 설정 (0) | 2021.10.25 |
---|---|
JIRA - Confluence 시작하기 (0) | 2021.08.03 |
MSA (0) | 2021.07.30 |
크롬으로 모바일웹 디버깅 (0) | 2021.07.26 |
Chrome 개발자 도구 tip (0) | 2021.07.20 |