본문 바로가기
IT

notepad++] 정규식으로 특정문자로 시작하고 특정 문자로 끝나는 문장 한 번에 변경하기!

by Fact_Psychology&advertisement 2024. 2. 21.
반응형

[notepad++] 정규식으로 특정문자로 시작하고 특정 문자로 끝나는 문장 한 번에 변경하기!

특정문자로 시작하고 특정 문자로 끝나는 문장 한 번에 변경

html. xml 등을 활용하다보면 <태그>사이에 있는 문장들을 지워야할 때가 있습니다. 매우 귀찮죠. 그래서 정규식을 활용하여 지울 필요가 있습니다.

예를 들어 <p> 실수 <p> 라는 문장을 반복해서 쓰고 있거나 sitemap의 2024-01-28T11:40:43+09:00와 같은 시간을 지워야할 때 매우 유용합니다.

목차

     

    단계 1: 정규식 패턴 이해

     

    정규식은 특정한 패턴을 가진 문자열을 찾거나 대체하고자 할 때 사용됩니다. 우리가 사용할 패턴은 다음과 같습니다

    <[^>]+>

     

    이 패턴은 <로 시작하고 >로 끝나는 모든 문자열을 매치시킵니다. 즉, HTML 태그를 찾아서 제거할 수 있습니다.

     

    2024-01-28T11:40:43+09:00
    2024-01-21T01:48:05+09:00

    위와 같은 날짜 내용을 지우기 위해서는 다음과 같이 활용할 수 있습니다.

    \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+\d{2}:\d{2}

    이 정규식 패턴은 다음과 같이 해석됩니다:

    • \d{4}: 4자리 숫자 (연도)
    • -: 하이픈
    • \d{2}: 2자리 숫자 (월 및 일)
    • T: 대문자 'T'
    • \d{2}:\d{2}:\d{2}: 2자리 숫자:2자리 숫자:2자리 숫자 (시간)
    • \+: 플러스 기호
    • \d{2}:\d{2}: 2자리 숫자:2자리 숫자 (시간 오프셋)

    단계 2: 정규식의 기호들을 한번 더 이해하기 

     

    패턴 설명
    < 문자열이 <로 시작함을 나타냄
    [^>]+ ^는 부정을 나타내고, >는 문자 >를 나타냄. [^>]+는 >가 아닌 모든 문자열을 나타냄. +는 하나 이상의 문자가 나올 수 있음을 나타냄.
    > 문자열이 >로 끝남을 나타냄

     

    단계 3: Notepad++에서 써먹기

    1. 노트패드 열기: 텍스트 파일을 노트패드로 엽니다.
    2. 검색 및 바꾸기 열기: Ctrl + H를 눌러 검색 및 바꾸기 창을 엽니다.
    3. 정규식 사용 설정: "검색 모드" 옵션에서 "정규식"을 선택합니다.
    4. 검색할 내용 입력: 검색란에 \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+\d{2}:\d{2}을 입력합니다.
    5. 바꿀 내용 비워두기: 바꿀 내용란을 비워둡니다.
    6. 바꾸기: "바꾸기" 또는 "모두 바꾸기" 버튼을 클릭하여 해당 패턴의 문자열을 삭제합니다.

    추가 내용

    위 내용을 활용하면 제법 많은 것들에 적용할 수 있습니다.

    패턴 설명
    \d{3}-\d{3}-\d{4} 세 개의 숫자, 하이픈, 세 개의 숫자, 하이픈, 네 개의 숫자로 이루어진 전화번호 패턴을 매치합니다.
    [a-zA-Z0-9]+ 영문 대소문자와 숫자로 이루어진 문자열을 매치합니다.
    \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b 이메일 주소 패턴을 매치합니다.
    ^https?://\S+$ http 또는 https로 시작하고, 공백이 없는 문자열의 URL을 매치합니다.
    <a\s+(?:[^>]*?\s+)?href="([^"]*)"([^>]*)> HTML <a> 태그에서 href 속성의 값을 추출합니다.

     

    사이트맵 작성에서 예시

    네, 이해했습니다. sitemap.xml 파일에서 특정한 패턴을 가진 여러 줄을 한 번에 제거하는 경우를 예로 들어보겠습니다.

    가령, 다음과 같은 sitemap.xml 파일이 있다고 가정해봅시다

    <url>
        <loc>https://example.com/page1</loc>
        <lastmod>2024-01-21T01:48:05+09:00</lastmod>
    </url>
    <url>
        <loc>https://example.com/page2</loc>
        <lastmod>2024-01-28T11:40:43+09:00</lastmod>
    </url>
    <url>
        <loc>https://example.com/page3</loc>
        <lastmod>2024-02-05T08:20:15+09:00</lastmod>
    </url>

     

    여기서 "lastmod" 태그와 그 내용을 한 번에 제거하고 싶다면, 다음과 같은 정규식을 사용할 수 있습니다

    정규식 패턴: <lastmod>.*?</lastmod>

    이 정규식은 "lastmod" 태그와 그 내용을 찾아서 한 번에 제거합니다. 위의 예시에서 이 정규식을 사용하면 다음과 같이 결과가 나올 것입니다

    <url>
        <loc>https://example.com/page1</loc>
    </url>
    <url>
        <loc>https://example.com/page2</loc>
    </url>
    <url>
        <loc>https://example.com/page3</loc>
    </url>

     

    728x90
    반응형

    댓글