MST

星途 面试题库

面试题:Rust中如何使用正则表达式匹配字符串中的数字

在Rust语言中,给定一个包含字母、数字和符号的字符串,如"abc123def456ghi",请编写代码使用正则表达式匹配并提取出所有数字部分。需使用标准库中的正则表达式相关模块,并展示如何遍历匹配结果。
40.7万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use std::regex::Regex;

fn main() {
    let text = "abc123def456ghi";
    let re = Regex::new(r"\d+").unwrap();

    for match_result in re.find_iter(text) {
        println!("{}", match_result.as_str());
    }
}
  1. 引入正则表达式模块use std::regex::Regex; 引入Rust标准库中用于正则表达式操作的 Regex 类型。
  2. 定义字符串和正则表达式
    • let text = "abc123def456ghi"; 定义要匹配的字符串。
    • let re = Regex::new(r"\d+").unwrap(); 使用 Regex::new 方法创建一个新的正则表达式实例,r"\d+" 表示匹配一个或多个数字,unwrap() 用于在正则表达式编译失败时直接终止程序(实际应用中可以更优雅地处理错误)。
  3. 遍历匹配结果for match_result in re.find_iter(text) { ... } 使用 find_iter 方法在字符串中查找所有匹配项,并通过迭代器遍历每个匹配结果,match_result.as_str() 可以获取匹配到的字符串内容并输出。