- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是关于Rust,regex::Regex。
对于以下代码,我尝试输出输入单词,然后输出随机字符串。
Playground
第一个函数可以编译,但是我不想要它,因为它不使用随机字符串。
第二个函数产生编译器错误。
您能给我如何修正我的代码吗?
use regex::Regex;
fn main() {
let cd="rust";
ok_but_i_dont_want_it(cd);
compiler_err(cd);
}
fn ok_but_i_dont_want_it(cd:&str){
let random_str="j93bg8";
let reg_idnt=Regex::new(r"(?P<ident>[_A-Za-z]{1,}[_A-Za-z0-9]{0,})").unwrap();
let cd=reg_idnt.replace_all(" rust ","${ident}_{}");
println!("{}",cd);
}
fn compiler_err(cd:&str){
let random_str="j93bg8";
let reg_idnt=Regex::new(r"(?P<ident>[_A-Za-z]{1,}[_A-Za-z0-9]{0,})").unwrap();
let cd=reg_idnt.replace_all(cd,format!("${ident}_{}",random_str));
println!("{}",cd);
}
error: there is no argument named `ident`
--> src/main.rs:18:47
|
18 | let cd=reg_idnt.replace_all(cd,format!("${ident}_{}",random_str));
| ^^^^^^^
error[E0277]: expected a `FnMut<(®ex::Captures<'_>,)>` closure, found `String`
最佳答案
如果您不希望format!
处理{ident}
,则可以通过将花括号加倍来对其进行escape:
reg_idnt.replace_all(cd, format!("${{ident}}_{}", random_str));
这将导致
format!
忽略它,结果将是
"{ident}_j93bg8"
,它被传递给
replace_all
。
.as_str()
来将
String
中的
format!
作为
&str
传递给
Replacer
。
format!("${{ident}}_{}", random_str).as_str()
看到它在
playground上运行
关于regex - 在Rust中,当Rep包含一些变量时,如何做Regex的replace_all(regex,Rep)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65855968/
我对 boost::replace_all 有疑问。我的字符串看起来像: ""Date"":1481200838,""Message"":"" 我希望它看起来像: "Date":1481200838,
Regex::replace_all 有签名fn (text: &str) -> Cow .对此的两次调用将如何编写,f(g(x)) ,给出相同的签名? 这是我正在尝试编写的一些代码。这将两个调用分成
stringr包有帮助str_replace()和 str_replace_all()职能。例如 mystring 1) sprintf("^((.*?\\bfish\\b.*?){%d})\\bf
我想要一种有效的方法来执行搜索和替换字符串(实际上它是一个着色器字符串),所以我做了一些研究并想出了 boost::replace_all。我的函数传递了一个字符串和一个 vector 或对。每对是一
我正在尝试查找字符串的所有实例并将其替换为缩短版本,如果找到,我想保留对捕获的引用。 我写了这段代码: extern crate regex; use regex::{Regex, Captures}
在下面的示例中,PHP 比 Rust 快 5.5 倍。 我做错了什么吗? 对我来说,Rust 中的正则表达式引擎似乎比 PHP 中的要慢。 PHP代码: $html = file_get_conten
我是一名优秀的程序员,十分优秀!