黑马程序员技术交流社区

标题: 正则表达式匹配中文 [打印本页]

作者: 杨增坤    时间: 2013-8-31 22:34
标题: 正则表达式匹配中文
本帖最后由 杨增坤 于 2013-8-31 23:40 编辑

               String regex="[\u4E00-\u9FA5]{2,3}.zip";               
                System.out.println("张三zip".matches(regex));        
                System.out.println("你你你zip".matches(regex));//为什么这个是true
结果:
false
true


作者: 月黑风高    时间: 2013-8-31 22:44
String regex="[\u4E00-\u9FA5]{2,3}zip"; //注意正则        
System.out.println("张三zip".matches(regex)); //true
System.out.println("你你你zip".matches(regex)); //true
作者: 张洪慊    时间: 2013-8-31 22:54
楼上说的是你要匹配的结果.
我在思考第二个为什么为true.
String regex="[\u4E00-\u9FA5]{2,3}.zip";  //别忘了.在正则中代表任意字符
对于"你你你zip"这个.匹配的是第三个'你',匹配成功->true
对于"张三zip"这个.匹配的是'z',那么无法匹配.后面的'z'->false

这里可以将.转义,"[\u4E00-\u9FA5]{2,3}\\.zip"

作者: 杨增坤    时间: 2013-8-31 23:40
张洪慊 发表于 2013-8-31 22:54
楼上说的是你要匹配的结果.
我在思考第二个为什么为true.
String regex="[\u4E00-\u9FA5]{2,3}.zip";  //别 ...

谢谢,我疏忽了,我明白了,





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2