dart如何匹配然后替换正则表达式

时间:2013-04-09 11:08:35

标签: dart

这可能是一个愚蠢的问题,但我找不到任何关于如何使用dart的{​​{1}}与正则表达式匹配后替换文本的参考。

所以基本上我要做的就是这样: 我有这样的文字

RegExp

我希望使用此模式匹配字符串'{name : aName, hobby : [fishing, playing_guitar]}' 然后使用此\b\w+\b替换,然后我希望输出如下:

"$&"

所以稍后我可以使用'{"name" : "aName", "hobby" : ["fishing", "playing_guitar"]}' 的{​​{1}}将其转换为dart:json

也许我想念一些东西,小心翼翼地给我一些指针?

1 个答案:

答案 0 :(得分:17)

您必须使用String.replaceAllMapped

final string = '{name : aName, hobby : [fishing, playing_guitar]}';
final newString = string.replaceAllMapped(new RegExp(r'\b\w+\b'), (match) {
  return '"${match.group(0)}"';
});
print(newString);

此食谱由Dart Cookbook赞助。