KEEP GOING

[python] 파이썬 정규표현식(regex) 사용법([], ^, |, +, ?, ., *, $) 정리 및 연습 사이트 추천 본문

python

[python] 파이썬 정규표현식(regex) 사용법([], ^, |, +, ?, ., *, $) 정리 및 연습 사이트 추천

jmHan 2023. 5. 29. 14:00
반응형

 

목차

    1. 정규 표현식

    [0-9]: 숫자

    [a-z]: 영어 소문자

    [A-Z]: 영어 대문자 

     

    ^: not

    |: or

    ?:하나 혹은 아예 없음(1개 또는 0개)

    *:없거나 하나 이상 있는 경우(0개 또는 1개 이상)

    +:하나 이상 있는 경우(1개 이상)

    .: 어떤 문자나 기호나 숫자

    대괄호 밖의^: 맨 앞

    .$: 문자열 맨 뒤의 문자나 기호, 숫자   

     

    2. 정규표현식 연습해보기 좋은 사이트(regex101)

    https://regex101.com/

     

    regex101: build, test, and debug regex

    Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust.

    regex101.com

    예제를 통해 직접 연습해보는 게 정규표현식을 이해하기 가장 쉬운 방법입니다.

    해당 페이지에 접속하여 flaver>python을 선택 후 원하는 기능을 function 카테고리에서 사용하면 됩니다.

    저는 문자열에서 정규식으로 생성한 키워드를 찾는 match를 선택하여 연습해봤습니다. 

    test string 영역에 문자열을 입력하고 regular expression에서 정규표현식으로 match할 키워드를 입력하면 됩니다. 

     

    3. 예제 연습

    예제 1) 

    [Kk]: 대문자 K이거나 소문자 k (한글자만 해당) 

     

    예제 2)

    [0-9]: 0부터 9까지의 모든 숫자

     

    이때 중요한 점은 개별 숫자를 의미한다는 점입니다.

    그래서 0부터 9까지의 수로 각각 0,1,0,3,2,3,2,9,2,9,2가 발견되었습니다. 

     

    예제 3) 

    [^0-9]: 숫자말고 전부(문자,기호)

    ^은 대괄호 안에서 맨 앞에 쓰일 경우 not 즉, 부정의 의미를 나타냅니다.

    이때 중요한 점은 그 이후에 등장하는 ^은 기호 그대로의 '^'을 의미합니다. (ex. [a^b]: a^b)

     

    예제 4)

    he?llo: e가 없거나 하나 있거나

    ye*s!: e가 없거나 하나 이상 있을 경우  

    ye+s!: e가 무조건 하나 이상 있을 경우

    surf+: f가 무조건 하나 이상 있을 경우

    app.e: 어떤 문자나 기호, 숫자가 .의 위치에 옴  

     

    예제 5)

    .$: 문자열 맨 뒤의 기호, 숫자, 문자

    \.: 기호 .을 찾을 때 

    ^[a-z]: 맨 앞에 소문자가 나올 경우

    ^[^A-Z]: 맨 앞에 대문자가 아닌 것이 나올 경우(ex. 줄바꿈, 띄어쓰기, 소문자) 

     

     

     

    반응형
    Comments