regex - 如何计算 Rust 中的正则表达式匹配?

标签 regex rust

我想用 Rust 计算字符串中正则表达式的匹配项。我设法打印了所有匹配项:

let re = Regex::new(r"(?i)foo").unwrap();
let result = re.find_iter("This is foo and FOO foo as well as FoO.");
for i in result {
    println!("{}", i.as_str())
}

但我无法简单地获取匹配项的数量。我找不到任何能给我计数的函数。我还尝试了 size_hint(),但效果不佳。我有什么办法可以做到这一点吗?

Here是我正在寻找的 Scala 版本。

最佳答案

您已经有了迭代器,所以只需计算迭代器中元素的数量:

re.find_iter("This is foo and FOO foo as well as FoO.").count()

关于regex - 如何计算 Rust 中的正则表达式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57741244/

相关文章:

正则表达式选择多行,直到两个连续的新行在 Mac 上不起作用

javascript - 不能以www开头的域名验证

rust - 将 Ref<Box<dyn Any>> 向下转换为 Ref<Box<T>> 时处理向下转换错误

Rust 异步和 AsRef<P : Path> not being Send

regex - Perl/regex 日期格式转换

regex - 字符串,str_extract : how to do positive lookbehind?

c++ - 正则表达式新手的东西

multithreading - 无法通过 channel 发送结构:mpsc::Sender 无法在线程之间安全共享

hashmap - 如何更新可变 HashMap 中的值?

rust - 如果 Box<dyn B> 不是 Box<dyn A> 的子类型,其中 B : A?,这意味着 Box 是协变的是什么意思