본문 바로가기
프로그램 개발해서 돈벌기/Utility

[무료] 웹 버전 정규식(Regular Expression) 작성 및 테스트 툴

by ubmuhan 2023. 3. 2.
반응형

 

https://regexr.com/

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

 

정규식이란

정규식(Regular Expression)은 문자열에서 패턴을 검색하거나 대체하는 데 사용되는 특별한 문자열입니다. 정규식은 문자열 검색과 대체를 처리하는 데 사용되는 패턴 매칭 알고리즘의 일부입니다.

정규식은 일반적으로 텍스트 처리에 사용됩니다. 예를 들어, 이메일 주소의 형식이나 특정 문자열을 포함하는 텍스트를 검색하는 등의 작업에 사용할 수 있습니다.

정규식은 특수 문자와 일반 문자를 결합하여 패턴을 만듭니다. 예를 들어, "."은 임의의 문자를 나타내는 메타 문자입니다. "*"은 앞에 있는 문자 또는 메타 문자가 0번 이상 나타날 수 있음을 나타내는 메타 문자입니다.

정규식은 다양한 프로그래밍 언어에서 지원됩니다. 대부분의 언어에서는 문자열 처리를 위한 내장 라이브러리나 외부 라이브러리를 통해 정규식을 사용할 수 있습니다.

 

정규식 문법

정규식 문법은 다양한 패턴 매칭 기호와 문자로 이루어져 있습니다. 여기서는 가장 일반적으로 사용되는 정규식 문법 기호들을 설명합니다.

  1. 문자
    • 일반 문자: 문자 그대로 매칭됩니다.
    • 특수 문자: 일반 문자가 아닌 문자로, 백슬래시()를 붙여서 사용합니다.
  2. 메타 문자
    • "." : 임의의 한 문자와 일치합니다.
    • "^" : 문자열의 시작과 일치합니다.
    • "$" : 문자열의 끝과 일치합니다.
    • "*" : 앞의 문자가 0번 이상 반복됩니다.
    • "+" : 앞의 문자가 1번 이상 반복됩니다.
    • "?" : 앞의 문자가 0번 또는 1번 나타납니다.
    • "{}" : 앞의 문자의 반복 횟수를 지정합니다.
    • "[]" : 대괄호 안에 있는 문자 중 하나와 일치합니다.
    • "()" : 그룹을 나타내며, 나중에 이 그룹을 참조할 수 있습니다.
    • "|" : "또는"의 의미로 사용됩니다.
  3. 문자 클래스
    • "\d" : 숫자와 일치합니다.
    • "\D" : 숫자가 아닌 문자와 일치합니다.
    • "\s" : 공백 문자와 일치합니다.
    • "\S" : 공백 문자가 아닌 문자와 일치합니다.
    • "\w" : 알파벳, 숫자, 밑줄 문자와 일치합니다.
    • "\W" : 알파벳, 숫자, 밑줄 문자가 아닌 문자와 일치합니다.

위의 기호들을 조합해서 원하는 패턴을 만들 수 있습니다. 정규식을 작성할 때는 특수 문자들이 자주 사용되므로, 이러한 특수 문자들을 문자 그대로 매칭하려면 백슬래시()를 사용해야 합니다.

 

예제

"Hello, world!" 문자열에서 "world"라는 단어를 추출하고 싶다고 가정해 봅시다.

정규식을 사용하여 이를 추출하려면, 다음과 같은 패턴을 사용할 수 있습니다.

 

/world/

 

이 패턴은 "world" 문자열과 정확히 일치하는 부분을 찾아내므로, 위의 문자열에서 "world"를 추출할 수 있습니다.

 

전화번호를 검색하고자 하는 경우를 생각해 봅시다. 전화번호의 일반적인 형식은 다음과 같습니다.

 

010-1234-5678

 

전화번호를 검색하려면, 다음과 같은 패턴을 사용할 수 있습니다.

 

\d{3}-\d{4}-\d{4}

 

이 패턴은 세 자리 숫자, 하이픈, 네 자리 숫자, 하이픈, 네 자리 숫자의 순서로 이루어진 문자열과 일치하는 부분을 찾아내므로, 위의 전화번호를 추출할 수 있습니다. 여기서 "\d"는 숫자를 나타내는 문자 클래스입니다. "{}" 기호는 앞의 문자 또는 메타 문자의 반복 횟수를 지정하는 것으로, "{3}"은 앞의 문자 또는 메타 문자가 3번 나타난 것을 나타냅니다.

 

https://regexr.com/에서 테스트 가능합니다.

 

 
반응형

댓글