[PYTHON] 정규표현식으로 URL 추출하기

황준하·2022년 11월 27일
0

http 프로토콜 포함


/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/ 

http 프로토콜 상관 없이


/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/ 

예시 코드

def url_encode(text: str):
    "url 검출"
    
    # URL 추출할 정규표현식 생성
    url_regex = r"(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)"

    reg = re.compile(url_regex)
    
    res = reg.search(text)
    
    if res == None:
        return text
    
    else:
        indexes = res.span()
        
        url_txt = text[indexes[0]:indexes[1]]
        
        return url_txt

Ref

  • filepath, 전화번호, 이메일, ip주소, 비밀번호, 시간 등도 있음.

https://digitalfortress.tech/tips/top-15-commonly-used-regex/

0개의 댓글