如何在 DART 中使用正则表达式转换时间格式



我有一个字符串[1: 3],他也可以[24: 59]
我对[24: 59]没有问题,但我试图将[1: 3]转换为 01:03,目前我使用正则表达式使用此代码提取 1 和 3

RegExp regExp = new RegExp(          
r"(d+), (d+)",
);
var match = regExp.firstMatch(rappel1);
group1rappel1 = match.group(1);
group2rappel1 = match.group(2);
prefs.setString('counter700',"$group1rappel1:$group2rappel1");

结果是1:3,我不知道如何添加十进制。

void main() {
final regExp = RegExp(r'[s*(d{1,2}):s*(d{1,2})]');
final match1 = regExp.firstMatch('[1: 3]');
print(match1.group(1).padLeft(2, '0'));
print(match1.group(2).padLeft(2, '0'));
final match2 = regExp.firstMatch('[24: 59]');
print(regExp.hasMatch('[24: 59]'));
print(match2.group(1).padLeft(2, '0'));
print(match2.group(2).padLeft(2, '0'));
}

如果要支持超过 2 位数字,可以使用d+代替d{1,2}(或d{1,5}(

最新更新