logo

정규식 튜토리얼 - 정규식을 작성하는 방법?

정규식(regex)은 검색 패턴을 정의하는 일련의 문자입니다. 정규식을 작성하는 방법은 다음과 같습니다.

10밀리리터는 몇 온스인가요?
  1. '.'와 같은 정규식에 사용되는 특수 문자를 이해하는 것부터 시작하세요. '*' '+' '?' 그리고 더.
  2. Python Perl 또는 grep과 같은 정규식을 지원하는 프로그래밍 언어 또는 도구를 선택하십시오.
  3. 특수 문자와 리터럴 문자를 사용하여 패턴을 작성합니다.
  4. 적절한 함수나 방법을 사용하여 문자열에서 패턴을 검색하세요.

예:

  1. 일련의 리터럴 문자를 일치시키려면 해당 문자를 패턴에 작성하면 됩니다.
  2. 여러 가능성 중 단일 문자를 일치시키려면 대괄호를 사용하세요. [0123456789]는 모든 숫자와 일치합니다.
  3. 0개 이상의 이전 표현식과 일치시키려면 별표(*) 기호를 사용하십시오.
  4. 하나 이상의 이전 표현식과 일치시키려면 더하기(+) 기호를 사용하십시오.
  5. 정규식은 복잡하고 읽기 어려울 수 있으므로 정규식 테스터와 같은 도구를 사용하여 패턴을 디버깅하고 최적화하는 것이 좋습니다.

정규식(합리식이라고도 함)은 주로 문자열과의 패턴 일치 또는 문자열 일치, 즉 '찾기 및 바꾸기'와 같은 작업에 사용하기 위해 검색 패턴을 정의하는 문자 시퀀스입니다. 정규식은 패턴을 문자 시퀀스와 일치시키는 일반화된 방법입니다. C++ Java 및 Python과 같은 모든 프로그래밍 언어에서 사용됩니다. 



정규 표현식이란 무엇이고 그것이 왜 그렇게 중요한가요?  

정규식은 다음에서 사용됩니다. 구글애널리틱스 Sublime Notepad++ Brackets Google Docs 및 Microsoft Word와 같은 가장 널리 사용되는 편집기에서 검색 및 교체를 지원하는 URL 일치.

    Example :     Regular expression for an email address :  
^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{25})$

위의 정규 표현식은 주어진 문자 집합이 이메일 주소인지 여부를 확인하는 데 사용할 수 있습니다. 

정규식을 작성하는 방법은 무엇입니까?

아래에 언급된 것처럼 정규 표현식을 작성하는 데 사용되는 특정 요소가 있습니다.



1. 반복기(  * + 및 { } )  

이러한 기호는 반복자 역할을 하며 컴퓨터에 선행 문자가 한 번 이상 사용되어야 함을 알려줍니다.

2. 별표 기호( * )

이는 컴퓨터에게 선행 문자(또는 문자 집합)를 0회 이상(무한대까지) 일치시키도록 지시합니다.

    Example :    The regular expression ab*c will give ac abc abbc abbbc….and so on 

3. 더하기 기호( + )  

이는 컴퓨터에게 선행 문자(또는 문자 집합)를 적어도 한 번 이상(무한까지) 반복하도록 지시합니다.



aes 대 des
    Example :    The regular expression ab+c will give abc abbc  
abbbc … and so on.

4. 중괄호 { … }  

이 괄호 안의 값만큼 앞의 문자(또는 문자 집합)를 반복하도록 컴퓨터에 지시합니다.

    Example :    {2} means that the preceding character is to be repeated 2   
times {min} means the preceding character is matches min or more
times. {minmax} means that the preceding character is repeated at
least min & at most max times.

5. 와일드카드( . ) 

도트 기호는 다른 기호를 대신할 수 있으므로 와일드카드 문자라고 합니다.

    Example :      
The Regular expression .* will tell the computer that any character
can be used any number of times.

6. 선택문자( ? )  

이 기호는 일치하는 문자열에 선행 문자가 존재할 수도 있고 존재하지 않을 수도 있음을 컴퓨터에 알려줍니다.

    Example :      
We may write the format for document file as – docx?
The ‘?’ tells the computer that x may or may not be
present in the name of file format.

7. 캐럿( ^ ) 기호 ( 경기 위치 설정 )

캐럿 기호는 일치 항목이 문자열이나 줄의 시작 부분에서 시작되어야 함을 컴퓨터에 알려줍니다.

    Example :    ^d{3} will match with patterns like '901' in '901-333-'.

8.  달러( $ ) 기호  

이는 문자열 끝이나 줄이나 문자열 끝의 n 이전에 일치 항목이 발생해야 함을 컴퓨터에 알려줍니다.

    Example :    -d{3}$ will match with patterns like '-333' in '-901-333'.

9. 캐릭터 클래스  

문자 클래스는 문자 집합 중 하나와 일치합니다. 문자, 숫자, 공백, 기호 등과 같은 언어의 가장 기본적인 요소를 일치시키는 데 사용됩니다. 


에스 : 공백 및 탭과 같은 공백 문자와 일치합니다.
에스 : 공백이 아닌 모든 문자와 일치합니다.
: 모든 숫자 문자와 일치합니다.
디: 숫자가 아닌 문자와 일치합니다.
~ 안에 : 모든 단어 문자와 일치합니다(기본적으로 영숫자).
안에 : 단어가 아닌 문자와 일치합니다.
: 모든 단어 경계와 일치합니다(여기에는 공백 대시, 쉼표 세미콜론 등이 포함됩니다.
[문자 집합]: set_of_characters의 단일 문자와 일치합니다. 기본적으로 일치 항목은 대소문자를 구분합니다.

자바를 깨다
    Example :    [abc] will match characters ab and c in any string.

10. [^set_of_characters] 부정:  

set_of_characters에 없는 단일 문자와 일치합니다. 기본적으로 일치 항목은 대소문자를 구분합니다.

    Example :    [^abc] will match any character except abc .

11. [이름-성] 문자 범위:  

처음부터 마지막까지 범위의 단일 문자와 일치합니다.

    Example :    [a-zA-z] will match any character from a to z or A to Z.

12. 이스케이프 기호(    ) 

실제 '+' '.' 등의 문자를 일치시키려면 해당 문자 앞에 백슬래시( )를 추가하세요. 이는 컴퓨터에게 다음 문자를 검색 문자로 처리하고 일치하는 패턴으로 간주하도록 지시합니다.

    Example :    d+[+-x*]d+ will match patterns like '2+2'  
and '3*9' in '(2+2) * 3*9'.

13. 캐릭터 그룹화 ( )  

정규식의 다양한 기호 세트는 함께 그룹화되어 단일 단위로 작동하고 블록으로 작동할 수 있습니다. 이를 위해서는 정규식을 괄호( )로 묶어야 합니다.

표준 입력 C 프로그래밍
    Example :    ([A-Z]w+) contains two different elements of the regular   
expression combined together. This expression will match any pattern
containing uppercase letter followed by any character.

14. 세로 막대(  |  )  

세로 막대(|) 문자로 구분된 하나의 요소와 일치합니다.

    Example :    th(e|is|at) will match words - the this and that.

15. 번호 

역참조: 이전에 일치된 하위 표현식(캡처되거나 원형 괄호로 묶인 표현식)이 이후에 동일한 정규 표현식에서 식별될 수 있습니다. n은 n번째 괄호 안에 포함된 그룹이 현재 위치에서 반복된다는 의미입니다.

    Example :    ([a-z])1 will match ee in Geek because the character   
at second position is same as character at position 1 of the match.

16. 어떻게 ( ?# 코멘트 ) 

인라인 주석: 주석은 첫 번째 닫는 괄호에서 끝납니다.

    Example :    bA(?#This is an inline comment)w+b

17. # [줄 끝까지] 

X 모드 코멘트. 주석은 이스케이프되지 않은 #에서 시작하여 줄 끝까지 계속됩니다.

    Example :    (?x)bAw+b#Matches words starting with A