在开发中 很多时候会遇到使用本地资源 和 网络资源的情况,使用 RegExp对象 做正则表达式判断 可以减少很多重复的代码,
我这里是项目中 的一段 我这里 判断是图片资源类型:
/// 缩略图 item
/// 使用正则表达式 判断资源类型
/// [network],[file],[asset] 三种
createImageVideoItem(dataSource) {
/// 使用正则判断资源类型
final netRegx = new RegExp(r'^(http|https):\/\/([\w.]+\/?)\S*');
final fileRegx = new RegExp(r'^(file):\/\/([\w.]+\/?)\S*');
final isNetwork = netRegx.hasMatch(dataSource);
final isFile = fileRegx.hasMatch(dataSource);
if (isNetwork) {
return Image.network(dataSource);
} else if (isFile) {
return Image.file(dataSource);
} else {
return Image.asset(dataSource);
}
}