加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

用于Java包名称的Python正则表达式

发布时间:2020-12-14 05:41:40 所属栏目:Java 来源:网络整理
导读:我在使用 Python确定有效的Java包名称时遇到问题.这是代码: packageName = "com.domain.lala" # valid,not rejected - correct #packageName = ".com.domain.lala" # invalid,rejected - correct #packageName = "com..domain.lala" # invalid,not rejected
我在使用 Python确定有效的Java包名称时遇到问题.这是代码:
packageName = "com.domain.lala" # valid,not rejected -> correct
    #packageName = ".com.domain.lala" # invalid,rejected -> correct
    #packageName = "com..domain.lala" # invalid,not rejected -> incorrect
    #packageName = "com.domain.lala." # invalid,not rejected -> incorrect

    matchObject = re.match("([a-z_]{1}[a-z0-9_]*(.[a-z_]{1}[a-z0-9_]*)*)",packageName)

    if matchObject is not None:
        print packageName + " is a package name!"
    else:
        print packageName + " is *not* a package name!"
        Utilities.show_error("Invalid Package Name","Invalid package name " + packageName + "!","Ok","","")

包名称必须以小写字母或下划线开头,每个点后面必须至少再跟一个小写字母或下划线.所有其他字符可以是小写字母,数字或下划线.不允许运行点,它可能不以点结束或以点开头.

我该如何解决这个问题?

解决方法

在正则表达式的末尾添加$以强制匹配完整的字符串.现在它只匹配一个部分字符串,所以它错误地接受了最后添加了垃圾的有效包名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读