std::regex_replace

2024. 12. 31. 14:23·내배캠/C++
목차
  1. regex_replace

regex_replace

  • 정규 표현식(regex)을 사용하여 문자열에서 특정 패턴을 찾아 다른 문자열로 교체하는 함수이다.
  • C++ 표준 라이브러리의 <regex> 헤더에 포함되어 있다.

 

string regex_replace(const string& input, const regex& pattern, const string& replacement);

input 문자열에서 pattern에 매칭되는 모든 부분을 replacement로 교체한 결과를 반환한다.

  • input: 원본 문자열
  • pattern: 찾고자 하는 패턴을 나타내는 정규식 객체
  • replacement: 교체할 문자열

 

 

https://dong-grae.tistory.com/83

 

문자열에서 영문 숫자 변환하기

*unordered_map 사용한 초기 코드더보기#include #include #include using namespace std;string ConvertStirng(const unordered_map NumList, const string& s){ string Result; string Temp; for (char c : s) { // 알파벳 발견 시, 한 글자씩 unordere

dong-grae.tistory.com

위 문제의 다른 사람 풀이과정을 보다가 regex_replace 함수에 대해 알게되었는데, 최적화 면에서 직접 탐색/치환하는 방법 보다 좋지 않고, 문자열의 길이가 길면 길수록 더욱 좋지 않다.

그냥 이런 함수가 있다 정도로만 알고 넘어가려한다.

 

regex_replace 정규식 기반코드는 복잡한 패턴 매칭을 한 번에 처리할 수 있고 간결하고 직관적인 코드 작성이 가능하다는 장점이 있지만 단점도 알고가자.

 

  • 정규식은 문자열을 탐색하면서 패턴을 파싱하고 매칭해야해서 오버헤드가 크다.
  • 각 호출마다 정규식을 컴파일하고 실행해야 하므로, 단순한 작업에 비해 비효율적이다.
  • 정규식이 단순하더라도 매칭과 치환을 반복적으로 수행해야 하므로 작은 입력에서는 차이가 크지는 않지만, 큰 입력에서는 느려질 가능성이 높다. 또한 regex_replace 자체가 일반적인 문자열 탐색보다 느리다. 
  • 성능 최적화가 필요한 경우엔 사용하지 않는 편이 좋다.

 

 

 

 

'내배캠 > C++' 카테고리의 다른 글

priority_queue  (1) 2025.01.06
std::vector를 class로 구현  (1) 2024.12.31
디자인 패턴(Observer Pattern)  (1) 2024.12.30
디자인 패턴(Decorator Pattern)  (0) 2024.12.30
디자인 패턴(Singleton Pattern)  (0) 2024.12.30
  1. regex_replace
'내배캠/C++' 카테고리의 다른 글
  • priority_queue
  • std::vector를 class로 구현
  • 디자인 패턴(Observer Pattern)
  • 디자인 패턴(Decorator Pattern)
동그래님
동그래님
  • 동그래님
    개발자 동그래
    동그래님
  • 전체
    오늘
    어제
    • 분류 전체보기 (210) N
      • 공부 (51)
        • Code Cata (50)
      • 내배캠 (151) N
        • TIL (50)
        • C++ (37)
        • Unreal Engine (48)
        • GAS(Gameplay Ability System.. (16) N
      • Project (7)
        • Gunfire Paragon (5)
        • Arena Fighters (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    동그래님
    std::regex_replace
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.