从来没遇到也没听说过正则匹配还有死循环的现象
说不是bug是因为java中和javascript 都能卡死,既然都能死循环说以那么就是我们写的有问题。
说是bug是因为就算匹配不到也应该返回false啊。这还闹出死循环了。
java:
public static boolean isDomainName(String domainName){ if(null==domainName || domainName.trim().equals("")){ return false ; } Pattern p = Pattern.compile( "^([0-9A-Za-z]|[\u4E00-\u9FA5])(-{0,1}([0-9A-Za-z]|[\u4E00-\u9FA5])+)*$" ); Matcher m = p.matcher(domainName.trim()); return m.matches() ; } public static void main(String args[]){ String isFullDomainName = "international-criminal-police-organization---interpol"; System.out.println("---"); System.out.println(isDomainName(isFullDomainName)); }
javascript:
var a = 'international-criminal-police-organization---interpol'; var reg = /^([0-9A-Za-z]|[\u4E00-\u9FA5])(-{0,1}([0-9A-Za-z]|[\u4E00-\u9FA5])+)*$/; reg.test(a);是不是很6;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。