정규식이란?
정규식은 흔히 regex으로 줄여서 부르는데, 텍스트에서 검색 패턴을 제공하여 검색, 찾기 및 바꾸기, 입력 유효성 검사 등과 같은 다양한 문자열 기반 작업에 사용되며, 다른 문자를 대신하여 사용되는 문자열입니다.
즉, 텍스트의 패턴에 사용되는 도구이며, 많은 프로그래밍 언어, 텍스트 편집기, 명령줄 도구에서 지원됩니다.
정규식의 예
예를 들면 위와 같습니다.
정규식은 Character literal과 특별한 의미를 가진 Metacharacter의 조합으로 구성됩니다.
그것을 통해 문자열을 우리가 원하는 문자 패턴들을 검색하고 출력할 수 있게 해줍니다.
Character literal
작은 따옴표: C, C++, Java, JavaScript와 같은 언어에서 문자는 일반적으로 작은 따옴표를 사용하여 표현됩니다. 예: 'A', 'b', '7', '$'.
탈출 문자 : 특정 문자는 특별한 의미를 가지며 문자 그대로 직접 표현할 수 없습니다. 이러한 문자를 포함하기 위해 탈출 문자가 사용됩니다. 예를 들어 개행 문자 '\n', 탭 문자 '\t', 백슬래시 문자 '\'로 사용하여 표현됩니다.
유니코드 또는 ASCII 코드: 일부 프로그래밍 언어에서는 유니코드 또는 ASCII 코드를 사용하여 문자를 표현할 수 있습니다. 예를 들어, C 및 C++에서는 '\x41'을 작성하여 문자 'A'를 나타낼 수 있습니다.
프로그램언어로 예를 들자면
- C and C++: 'A', 'b', '\n', '\t'
- Java: 'A', 'b', '\n', '\t'
- Python: 'A', 'b', '\n', '\t'
- JavaScript: 'A', 'b', '\n', '\t'
Metacharacters
- . : 해당 순서의 모든 단일 문자와 일치합니다.
- *: 0개 이상 일치하는 구문을 나타냅니다.
- +: 하나 또는 그 이상의 구문을 나타냅니다.
- ?: 해당 순서에 맞는 문자가 0개 이상 일치하는 구문을 나타냅니다.
- []: 괄호 안에 있는 단일 문자와 나타냅니다.
- |: 논리적 OR 역할을 하여 여러 패턴을 일치시킬 수 있습니다.
- ^: 줄의 시작 부분을 일치시킵니다
- $: 줄의 끝을 일치시킵니다.
정규식은 텍스트에서 데이터를 검색, 바꾸기, 유효성 검사, 추출하는 등 다양한 작업에 사용할 수 있으며, 복잡한 패턴을 정의하고 텍스트 처리를 효율적으로 수행할 수 있는 유연하고 간결한 방법을 제공합니다. 특히, 더 복잡한 패턴이나 특수한 경우를 다룰 때 상당히 복잡해질 수 있으나, 패턴을 이용하여 효과적이게 원하는 파일을 찾아낼 수 있습니다.
정규 표현식의 정확한 구문과 기능을 이해하려면 사용 중인 프로그래밍 언어 또는 도구의 특정 설명서를 참조하는 것이 도움이 될 수 있습니다.