004-golang 正则表达式的使用

获取包名

func myRegexp(text string,regs string) string {
    reg := regexp.MustCompile(regs)
    arr := reg.FindAllString(text, -1)

    if len(arr) >0 {

        return arr[0]
    }
    return  ""

}

/**
 *从aapt 信息 中获取包名
 */
func getPkg(text string) string {
    step1 := myRegexp(text,"package: name='[^']+'")

    step2 := myRegexp(step1,"'([^']+)'")

    s := strings.Split(step2,"'")

    return s[1]
}
package: name='jp.co.ponos.namesta' versionCode='46725' versionName='1.0.6725'
sdkVersion:'19'
targetSdkVersion:'25'
uses-gl-es:'0x10001'
uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission:'android.permission.INTERNET'
uses-permission:'android.permission.ACCESS_NETWORK_STATE'
uses-permission:'com.google.android.c2dm.permission.RECEIVE'
uses-permission:'com.tapjoy.tapjoyPlugin.permission.C2D_MESSAGE'
uses-permission:'android.permission.ACCESS_WIFI_STATE'
uses-feature-not-required:'android.hardware.touchscreen'
uses-feature-not-required:'android.hardware.touchscreen.multitouch'
uses-feature-not-required:'android.hardware.touchscreen.multitouch.distinct'
uses-permission:'android.permission.WAKE_LOCK'
uses-permission:'android.permission.READ_EXTERNAL_STORAGE'
uses-permission:'com.android.vending.BILLING'
uses-feature-not-required:'android.software.vr.mode'
uses-feature-not-required:'android.software.vr.high_performance'
uses-permission:'android.permission.VIBRATE'
application-label:'namesta'
application-label-ca:'namesta'
application-icon-120:'res/drawable-ldpi-v4/app_icon.png'
application-icon-160:'res/drawable-mdpi-v4/app_icon.png'
application-icon-240:'res/drawable-hdpi-v4/app_icon.png'
application-icon-320:'res/drawable-xhdpi-v4/app_icon.png'
application-icon-480:'res/drawable-xxhdpi-v4/app_icon.png'
application-icon-640:'res/drawable-xxxhdpi-v4/app_icon.png'
application: label='namesta' icon='res/drawable-mdpi-v4/app_icon.png'
uses-library:'com.google.android.maps'
launchable-activity: name='jp.co.ponos.namesta.UnityPlayerNativeActivity'  label='namesta' icon=''
uses-feature:'android.hardware.wifi'
uses-implied-feature:'android.hardware.wifi','requested android.permission.ACCESS_WIFI_STATE, android.permission.CHANGE_WIFI_STATE, or android.permission.CHANGE_WIFI_MULTICAST_STATE permission'
uses-feature:'android.hardware.screen.portrait'
uses-implied-feature:'android.hardware.screen.portrait','one or more activities have specified a portrait orientation'
main
other-activities
other-receivers
other-services
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--' 'ca' 'da' 'fa' 'ja' 'ka' 'pa' 'ta' 'nb' 'be' 'de' 'ne' 'te' 'af' 'bg' 'th' 'fi' 'hi' 'si' 'vi' 'kk' 'mk' 'sk' 'uk' 'el' 'gl' 'ml' 'nl' 'pl' 'sl' 'tl' 'am' 'km' 'bn' 'in' 'kn' 'mn' 'ko' 'lo' 'ro' 'sq' 'ar' 'fr' 'hr' 'mr' 'sr' 'tr' 'ur' 'bs' 'cs' 'es' 'is' 'ms' 'et' 'it' 'lt' 'pt' 'eu' 'gu' 'hu' 'ru' 'zu' 'lv' 'sv' 'iw' 'sw' 'hy' 'ky' 'my' 'az' 'uz' 'fr_CA' 'en_GB' 'zh_HK' 'zh_CN' 'pt_BR' 'en_SS' 'es_US' 'pt_PT' 'zh_TW'
densities: '120' '160' '240' '320' '480' '640'
native-code: 'armeabi-v7a' 'x86'

参考链接

  1. golang 正则表达式
  2. 基础知识 - Golang 中的正则表达式
  3. 线上正则表达式测试工具
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,742评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,222评论 19 139
  • 与你相遇是我的幸运 但不能与你在一起却又是我的不幸
    翟仔宅阅读 3,411评论 0 0
  • 一、学习与思考 1.今天我学到了哪些东西? 。“心流体验”。 。“痛苦只是一个标签”。 2.今天我有哪些启发和思考...
    小鱼爱笑阅读 1,670评论 0 1
  • Remove all elements from a linked list of integers that h...
    matrxyz阅读 1,535评论 0 0

友情链接更多精彩内容