用于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","","") 包名称必须以小写字母或下划线开头,每个点后面必须至少再跟一个小写字母或下划线.所有其他字符可以是小写字母,数字或下划线.不允许运行点,它可能不以点结束或以点开头. 我该如何解决这个问题? 解决方法
在正则表达式的末尾添加$以强制匹配完整的字符串.现在它只匹配一个部分字符串,所以它错误地接受了最后添加了垃圾的有效包名.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |