我有一个由分隔符分开的字符串。我想用正则表达式拆分此字符串并保留分隔符。
我的目前代码是:
use regex::Regex; // 1.1.8
fn main() {
let seperator = Regex::new(r"([ ,.]+)").expect("Invalid regex");
let splits: Vec<_> = seperator.split("this... is a, test").into_iter().collect();
for split in splits {
println!("\"{}\"", split);
}
}
其输出为:
"this"
"is"
"a"
"test"
我希望保留分隔符(在这种情况下是空格字符),我希望看到的输出是:"this"
"... "
"is"
" "
"a"
", "
"test"
如果可能的话,我该如何使用 regex 实现这种行为?
这与 保留分隔符来拆分字符串 不同,后者使用标准库而不是 regex 库。
find_iter()
方法来查找所有分隔符及其起始和结束索引,或者扩展正则表达式以 匹配分隔符或分隔符之间的文本 。 (我会将此作为答案添加,但它并不适合重复,因此我将其保留为评论。) - Sven Marnach