정규 표현식 사용하기

Rust:
정규 표현식 사용하기

사용 방법:

Rust의 regex 라이브러리는 정규 표현식을 다루기 위한 필수 요소입니다. 이를 사용하기 위해 먼저 Cargo.toml에 추가해야 합니다:

[dependencies]
regex = "1"

그 후, Rust 코드에서 regex 기능을 구현하기 시작할 수 있습니다. 여기 몇 가지 일반적인 작업을 수행하는 방법을 소개합니다:

문자열에서 패턴 매칭

use regex::Regex;

fn main() {
    let re = Regex::new(r"^\d{4}-\d{2}-\d{2}$").unwrap();
    let date = "2023-04-15";

    println!("해당 텍스트가 날짜 패턴과 일치합니까? {}", re.is_match(date));
    // 출력: 해당 텍스트가 날짜 패턴과 일치합니까? true
}

매치 찾기 및 접근하기

use regex::Regex;

fn main() {
    let text = "Rust 2023, C++ 2022, Python 2021";
    let re = Regex::new(r"\b(\w+)\s(\d{4})").unwrap();

    for cap in re.captures_iter(text) {
        println!("언어: {}, 연도: {}", &cap[1], &cap[2]);
    }
    // 출력:
    // 언어: Rust, 연도: 2023
    // 언어: C++, 연도: 2022
    // 언어: Python, 연도: 2021
}

텍스트 교체하기

use regex::Regex;

fn main() {
    let re = Regex::new(r"\b(\w+)\s(\d{4})").unwrap();
    let text = "Rust 2023, C++ 2022, Python 2021";
    let replaced = re.replace_all(text, "$1가 $2년에 업데이트되었습니다");

    println!("업데이트된 텍스트: {}", replaced);
    // 출력: 업데이트된 텍스트: Rust가 2023년에 업데이트되었습니다, C++가 2022년에 업데이트되었습니다, Python이 2021년에 업데이트되었습니다
}

정규 표현식을 사용한 텍스트 분할

use regex::Regex;

fn main() {
    let re = Regex::new(r"\W+").unwrap(); // 모든 비단어 문자에서 분할
    let text = "Rust-C++-Python-Go";

    let fields: Vec<&str> = re.split(text).collect();

    for field in fields {
        println!("언어: {}", field);
    }
    // 출력:
    // 언어: Rust
    // 언어: C++
    // 언어: Python
    // 언어: Go
}

이 예제들은 Rust에서 정규 표현식을 시작하는 기본 가이드를 제공합니다. 당신의 요구가 더 복잡해짐에 따라, regex 크레이트는 복잡한 패턴 매칭과 텍스트 조작 작업을 위한 풍부한 기능을 제공합니다.