728x90
반응형
1. 정규표현식이란?
정규표현식(Regular Expression)은 문자열을 처리하는 방법 중의 하나로 특정한 조건의 문자를 '검색' 하거나 '치환' 하는 과정을 매우 간편하게 처리할 수 있도록 하는 수단으로 이야기할 수 있다.
특히 정규표현식은 프로그래밍(Programming)을 하면서 문자열 처리를 하기 위해서 많이 사용된다. 좀 더 자세한 정보는 위키 백과를 통해서 확인해보도록 하자.
2. 정규표현식 패턴 및 표준 문법
정규표현식을 이용하여 사용하려면 해당 표현식에서 사용하느냐는 패턴 및 표준 문법에 맞춰서 사용해야 한다.
메타문자 | 기능 | 설명 |
. | 문자 | 1개의 문자와 일치한다. 단일행 모드에서는 새줄 문자를 제외한다. |
[ ] | 문자 클래스 | "["과 "]" 사이의 문자 중 하나를 선택한다. "¦"를 여러 개 쓴 것과 같은 의미이다. 예를 들면 [abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 범위를 지정할 수 있다. "[a-z]"는 a부터 z까지 중 하나, "[1-9]"는 1부터 9까지 중의 하나를 의미한다. |
[^ ] | 부정 | 문자 클래스 안의 문자를 제외한 나머지를 선택한다. 예를 들면 [^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd 등을 포함한다. [^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 의미한다. |
^ | 처음 | 문자열이나 행의 처음을 의미한다. |
$ | 끝 | 문자열이나 행의 끝을 의미한다. |
( ) | 하위식 | 여러 식을 하나로 묶을 수 있다. "abc¦adc"와 "a(b¦d)c"는 같은 의미를 가진다. |
\n | 일치하는 n번째 패턴 | 일치하는 패턴들 중 n번째를 선택하며, 여기에서 n은 1에서 9 중 하나가 올 수 있다. |
* | 0회 이상 | 0개 이상의 문자를 포함한다. "a*b"는 "b", "ab", "aab", "aaab"를 포함한다. |
{m, n} | m회 이상 n회 이하 | "a{1,3}b"는 "ab", "aab", "aaab"를 포함하지만, "b"나 "aaaab"는 포함하지 않는다. |
? | 0 또는 1회 | "a?b"는 "b", "ab"를 포함한다. |
+ | 1회 이상 | "a+b"는 "ab", "aab", "aaab"를 포함하지만 "b"는 포함하지 않는다. |
¦ | 선택 | 여러 식 중에서 하나를 선택한다. 예를 들어, "abc¦adc"는 abc와 adc 문자열을 모두 포함한다. |
3. 정규표현식 웹 사이트 Tool
정규표현식을 웹 사이트를 통해서 간단히 테스트 혹은 검증 가능하는 Tool 먼저 소개하겠다.
3.1 regexper
정규표현식을 입력하면 해당 표현식이 어떻게 구현되어있는지를 좀 더 쉽게 볼 수 있도록 하는 사이트이다.
3.2 regexr
텍스트(Text) 창에 원하는 내용을 넣고 정규표현식을 구현하면서 원하는 부분대로 문자열을 찾는지에 대해서 테스트 및 검증을 할 수 있도록 하는 사이트이다.
참고로 필자는 정규표현식 작성 시 "3.2 regexr" 사이트에서 원하는 텍스트를 입력 후 정규표현식 작성 후에 "3.1 regexper"를 통해서 표현식이 어떻게 구현이 되어있는지를 살핀 후 코드를 작성하여 사용하고 있다.
그럼 정규표현식에 대해서 알아보았다.
이제 정규표현식을 통해서 좀 더 쉽게 문자열 처리를 해보도록 하자.
다음번에는 정규표현식을 사용하는 예제들을 통해서 더 자세히 알아보도록 하자.
728x90
반응형
'+ Development' 카테고리의 다른 글
[regex] IP & MAC 주소 추출 정규표현식 모음 (2) | 2021.01.06 |
---|---|
[regex] 개인정보 추출 정규표현식 모음 (2) | 2021.01.06 |
[Info] 배너 아스키 아트(Banner ASCII Art) 제작 하기 (0) | 2020.10.01 |
[ADB] MacOS(맥OS)에 ADB Tool 설치 하기(Install) (4) | 2020.08.22 |
[ADB] ADB 명령어를 이용하여 앱(App) 설치 (0) | 2020.02.26 |
댓글