replaceAllMapped 与 span 元素匹配

replaceAllMapped matches with span elements

我想用 span 元素中的相同字符串替换 regExp 之后的所有匹配字符串。这可能吗? 我想做这样的事情: final text = message.replaceAllMapped(exp, (match) => '<span>exp, (match)</span>');

您可以这样使用 String#replaceAllMapped

final exp = new RegExp(r'\d+(?:\.\d+)?'); 
String message = 'test 40.40 test 20.20'; 
final text = message.replaceAllMapped(exp, 
        (Match m) => "<span>${m[0]}</span>");
print(text);

输出:test <span>40.40</span> test <span>20.20</span>

此处,m 是正则表达式引擎找到并传递给箭头方法的 m 对象,其中 m 数组中的第一项插入 [=16] 之间=] 和 </span> 内插双引号字符串文字。