관리 메뉴

개발이야기

[ Python Skill ] 정규표현식을 이용하여 문자열에서 마지막 숫자 찾기 본문

Python /Python Skill

[ Python Skill ] 정규표현식을 이용하여 문자열에서 마지막 숫자 찾기

안성주지몬 2019. 6. 12. 00:00

이번 포스팅에서는 파이썬 & 정규표현식을 활용하여 문자열에서 마지막 숫자를 찾는 방법에 대해서 살펴보겠습니다.

문자열에서 특정 패턴을 만족하는 문자를 찾기위해서 정규표현식을 많이 사용합니다. 파이썬에서는 re 라이브러리를 이용하여 정규표현식을 사용할 수 있습니다.

 

파이썬과 정규표현식을 사용하여 마지막 숫자를 찾는 코드를 먼저 살펴보겠습니다.

 

"Regular expression to match last number in a string use Python"

 

 

- 코드

 

import re


def get_last_number(string):
    regex = re.compile('(\d+)(?!.*\d)')  # 찾고자 하는 패턴의 정규표현식 컴파일
    matching = regex.findall(string)  # 패턴과 매칭되는 문자를 리스트로 반환
    if matching:  # 매칭된 문자 리스트가 있다면 리스트 반환
        return matching
    else:  # 없다면 fasle를 반환
        print('매칭되는 패턴이 없습니다.')
        return False
        
print(get_last_number('ad32js$%'))

 

* 정규식코드에 대한 설명은 주석을 참고하세요

 

- 출력 예제

ex1) '11ad982' => ['982']
ex2) 'ad32js$%129' => ['129']
ex3) 'ad32js$%' => ['32']

위 코드를 이용하여 특정 문자열에서 마지막 숫자를 얻을 수 있습니다.

 

참고 

[1] https://stackoverflow.com/questions/5320525/regular-expression-to-match-last-number-in-a-string 

 

Regular expression to match last number in a string

I need to extract the last number that is inside a string. I'm trying to do this with regex and negative lookaheads, but it's not working. This is the regex that I have: \d+(?!\d+) And these are...

stackoverflow.com

 

Comments