我跟着 this tutorial 。但是,尝试编译示例:

#![feature(plugin)]
#[plugin] #[no_link]
extern crate regex_macros;
extern crate regex;

fn main() {
    let re = regex!(r"^\d{4}-\d{2}-\d{2}$");
    assert_eq!(re.is_match("2014-01-01"), true);
}

失败并出现以下错误:

src/main.rs:3:1: 3:27 error: can't find crate for `regex_macros`
src/main.rs:3 extern crate regex_macros;
              ^~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Could not compile `upm`.

我加了
[dependencies]
regex = "0.1.8"

到我的 Cargo.toml

似乎不推荐使用该文档。

我之前更新了 rust :
$ rustc --version
rustc 1.0.0-nightly (74b874071 2015-02-08 00:24:03 +0000)

我现在必须遵循哪些步骤?

最佳答案

宏作为 their own crate 分发。您需要将它们作为依赖项添加到 regex 上的 Cargo.toml crate 旁边:

[dependencies]
regex = "0.1.8"
regex_macros = "0.1.8"

也许您可以向适当的项目提供拉取请求以加强文档!

关于regex - 如何使正则表达式宏工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28396827/

10-12 13:38