AndroidManifest文档中针对package属性描述了有效的Android包名称:
名称应唯一。该名称可以包含大写或小写字母(“ A”至“ Z”),数字和下划线(“ _”)。但是,单个包装名称部分只能以字母开头。
参见:https : //developer.android.com/guide/topics/manifest/manifest-element.html#package
以下正则表达式将匹配有效的Android软件包名称:
^([A-Za-z]{1}[A-Za-z\d_]*\.)+[A-Za-z][A-Za-z\d_]*$
Run Code Online (Sandbox Code Playgroud)
用法示例:
String regex = "^([A-Za-z]{1}[A-Za-z\\d_]*\\.)+[A-Za-z][A-Za-z\\d_]*$";
List<PackageInfo> packages = context.getPackageManager().getInstalledPackages(0);
for (PackageInfo packageInfo : packages) {
if (packageInfo.packageName.matches(regex)) {
// valid package name, of course.
}
}
Run Code Online (Sandbox Code Playgroud)
有关正则表达式的详细说明,请参见:https : //regex101.com/r/EAod0W/1
| 归档时间: |
|
| 查看次数: |
3273 次 |
| 最近记录: |