Rust:
Säännöllisten lausekkeiden käyttö
Kuinka:
Rustin regex
kirjasto on se mihin turvaudutaan työskenneltäessä säännöllisten lausekkeiden kanssa. Käyttääksesi sitä, sinun tulee ensin lisätä se Cargo.toml
-tiedostoosi:
[dependencies]
regex = "1"
Sen jälkeen voit aloittaa regex-toiminnallisuuksien toteuttamisen Ruostekoodissasi. Tässä on kuinka suorittaa joitakin yleisiä toimintoja:
Mallin Vastaavuuden Tarkistaminen Merkkijonossa
use regex::Regex;
fn main() {
let re = Regex::new(r"^\d{4}-\d{2}-\d{2}$").unwrap();
let date = "2023-04-15";
println!("Vastaako teksti päivämäärän mallia? {}", re.is_match(date));
// Tuloste: Vastaako teksti päivämäärän mallia? true
}
Osumien Etsiminen ja Saavuttaminen
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!("Kieli: {}, Vuosi: {}", &cap[1], &cap[2]);
}
// Tuloste:
// Kieli: Rust, Vuosi: 2023
// Kieli: C++, Vuosi: 2022
// Kieli: Python, Vuosi: 2021
}
Tekstin Korvaaminen
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 päivitettiin $2");
println!("Päivitetty teksti: {}", replaced);
// Tuloste: Päivitetty teksti: Rust päivitettiin 2023, C++ päivitettiin 2022, Python päivitettiin 2021
}
Tekstin Jakaminen Regexin Avulla
use regex::Regex;
fn main() {
let re = Regex::new(r"\W+").unwrap(); // jaetaan kaikilla muilla kuin sanamerkeillä
let text = "Rust-C++-Python-Go";
let fields: Vec<&str> = re.split(text).collect();
for field in fields {
println!("Kieli: {}", field);
}
// Tuloste:
// Kieli: Rust
// Kieli: C++
// Kieli: Python
// Kieli: Go
}
Nämä esimerkit tarjoavat perusoppaan aloittamiseen säännöllisten lausekkeiden kanssa Rustissa. Kun tarpeesi muuttuvat monimutkaisemmiksi, regex
paketti tarjoaa runsaasti toiminnallisuutta monimutkaisia kuviohakutehtäviä ja tekstimanipulointia varten.