请提供一段dart代码,用的正则表达式检查字符串是否符合flutter package命名规范
时间: 2023-02-09 09:22:47 浏览: 210
以下是一段 Dart 代码,使用正则表达式检查字符串是否符合 Flutter Package 命名规范:
```dart
import 'dart:core';
bool isValidPackageName(String name) {
final RegExp packageNameRegExp = RegExp(
r'^[a-z][a-z0-9_]*(?:[.][a-z0-9_]+)+$',
caseSensitive: false,
multiLine: false,
);
return packageNameRegExp.hasMatch(name);
}
void main() {
print(isValidPackageName("my_package")); // true
print(isValidPackageName("MyPackage")); // true
print(isValidPackageName("my.package")); // true
print(isValidPackageName("1mypackage")); // false
print(isValidPackageName("my package")); // false
}
```
上述代码中,isValidPackageName() 方法接收一个字符串作为参数,并使用 RegExp 类的静态方法 hasMatch() 检查该字符串是否符合 Flutter Package 的命名规范。
规则是以小写字母开头,可以包含小写字母,数字,下划线,如果是多级目录,用"."分隔。
阅读全文
相关推荐


















