如何在没有货物的Rust中使用正则表达式?

时间:2016-05-29 04:11:44

标签: regex rust rust-cargo

我在Rust写了一些小脚本。这些可以通过像

这样的命令运行
## scale test, low probability of NA
set.seed(1L);
N <- 1e5L; probNA <- 0.2; x <- sample(c(NA,T),N,T,c(probNA,1-probNA)); x[which(x)] <- rep(c(0,1),len=sum(x,na.rm=T));

ex <- bgoldst(x);
identical(ex,user31264(x));
## [1] TRUE

microbenchmark(bgoldst(x),user31264(x));
## Unit: milliseconds
##          expr      min        lq      mean    median        uq      max neval
##    bgoldst(x)  5.24815  6.351279  7.723068  6.635454  6.923264 45.04077   100
##  user31264(x) 11.79423 13.063710 22.367334 13.986584 14.908603 55.45453   100

这些工作很棒。但是,我遇到了需要使用正则表达式的情况。我用$ rustc dosomething.rs && ./dosomething 开始了脚本 这意味着我需要通过Cargo运行我的脚本。我设法使用正则表达式运行这个小脚本的唯一方法是强制我的脚本进入它自己的目录,具有以下结构:

extern crate regex;

我用

加载了. ├── Cargo.toml └── src    └── main.rs
Cargo.toml

并尽职尽责地运行[package] name = "wordcount" version = "0.0.1" [dependencies] regex = "0.1" 并获得了正在运行的可执行文件。

但是,在计算Cargo工件使用的磁盘空间时,我发现它们由17个文件,21个目录和23兆字节组成。

现在运行大型应用程序时非常好;我似乎是小型的Java应用程序,其中Maven下载了大量的23M是微观的罐子。

我只是想知道在Rust中是否没有其他方法可以使用正则表达式编写脚本。 (是的,我确实想要正则表达式,因为使用cargo build非常容易。)

是否内置支持Rust中的正则表达式或某种方式将wordcount脚本保存在与其他脚本相同的目录中?是否有\pL标志的模拟,或许?

1 个答案:

答案 0 :(得分:1)

  

是否内置支持Rust

中的正则表达式

不,但正则表达式will (probably) be标准(std?)正则表达式为Rust。

  

或以某种方式将wordcount脚本保存在与其他脚本相同的目录中?

货物项目可以有more than个可执行文件。只需将每个主文件放在src/bin