Regex 如何在flatter中使用正则表达式获取文本中的字符串

Regex 如何在flatter中使用正则表达式获取文本中的字符串,regex,flutter,dart,Regex,Flutter,Dart,我试图在dart(颤振)中获取/data/user/0/com.example.notes/app_flatter/image_picker8474259280565710843.jpg 我已经尝试了下面的代码 var opDataString = '{image: /data/user/0/com.example.notes/app_flutter/image_picker8474259280565710843.jpg}'; print(opDataString.split(new RegE

我试图在dart(颤振)中获取
/data/user/0/com.example.notes/app_flatter/image_picker8474259280565710843.jpg

我已经尝试了下面的代码

var opDataString = '{image: /data/user/0/com.example.notes/app_flutter/image_picker8474259280565710843.jpg}';

print(opDataString.split(new RegExp(r"{image: ^}*$"))[0]);

但是没有任何效果。

您可以使用捕获组进行匹配,而不是使用拆分

{image: ([^}]+)}
|

比如说

var opDataString = '{image: /data/user/0/com.example.notes/app_flutter/image_picker8474259280565710843.jpg}';
RegExp r = new RegExp("{image: ([^}]+)}");
var match = r.firstMatch(opDataString);
print(match.group(1));
输出

/data/user/0/com.example.notes/app_flutter/image_picker8474259280565710843.jpg
或者使用拆分,获取第二项:

print(opDataString.split(new RegExp(r"{image: |}"))[1]);

如果您在回答这个问题时使用上述示例,这将非常有用。@Mahi您可能会在例如
print(opDataString.split)(newregexp(r“{image:}”)[1])上进行拆分但对于数据结构,匹配会更精确。看看有没有你可以提供的教程或链接,谷歌搜索不会给我这些关于组的结果,例如这些页面或链接。该函数列在