Utilisation des expressions régulières

Rust:
Utilisation des expressions régulières

Comment faire :

La bibliothèque regex de Rust est un outil de choix pour travailler avec les expressions régulières. Pour l’utiliser, vous devrez d’abord l’ajouter à votre Cargo.toml :

[dependencies]
regex = "1"

Ensuite, vous pouvez commencer à implémenter des fonctionnalités regex dans votre code Rust. Voici comment effectuer certaines opérations communes :

Correspondance à un motif dans une chaîne

use regex::Regex;

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

    println!("Le texte correspond-il au modèle de date ? {}", re.is_match(date));
    // Sortie : Le texte correspond-il au modèle de date ? true
}

Trouver et accéder aux correspondances

use regex::Regex;

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

    for cap in re.captures_iter(texte) {
        println!("Langage : {}, Année : {}", &cap[1], &cap[2]);
    }
    // Sortie :
    // Langage : Rust, Année : 2023
    // Langage : C++, Année : 2022
    // Langage : Python, Année : 2021
}

Remplacer du texte

use regex::Regex;

fn main() {
    let re = Regex::new(r"\b(\w+)\s(\d{4})").unwrap();
    let texte = "Rust 2023, C++ 2022, Python 2021";
    let texte_remplacé = re.replace_all(texte, "$1 a été mis à jour en $2");

    println!("Texte mis à jour : {}", texte_remplacé);
    // Sortie : Texte mis à jour : Rust a été mis à jour en 2023, C++ a été mis à jour en 2022, Python a été mis à jour en 2021
}

Diviser du texte en utilisant une regex

use regex::Regex;

fn main() {
    let re = Regex::new(r"\W+").unwrap(); // diviser à tout caractère non-mot
    let texte = "Rust-C++-Python-Go";

    let champs: Vec<&str> = re.split(texte).collect();

    for champ in champs {
        println!("Langage : {}", champ);
    }
    // Sortie :
    // Langage : Rust
    // Langage : C++
    // Langage : Python
    // Langage : Go
}

Ces exemples fournissent un guide de base pour commencer avec les expressions régulières en Rust. Au fur et à mesure que vos besoins deviennent plus sophistiqués, la crate regex offre une multitude de fonctionnalités pour des tâches complexes de reconnaissance de motifs et de manipulation de texte.