正则表达式问题【单词边界符\b】这两个结果怎么会不同呢? 本帖最后由 zhuhezan 于 2011-01-05 21:24:17 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 \b 单词边界,顾名思义,就是要求它的一侧是组成单词的字符,另一侧不是^h[a-z]{1,4}\\b[a-z]{1,5}这个正则要求\b所在位置两侧都是字母,不用去试,仅从正则语法角度分析,就可以知道,匹配任何字符串的结果肯定都是false的 System.out.println("hello world".matches("^h[a-z]{1,4} [a-z]{1,5}")); System.out.println(" ".matches("\\b"));这两句 楼主试试看 \\b 应该不匹配空格 我知道楼主是看马士兵老师的视频 估计是视频有错 System.out.println("hello world".matches("^h[a-z]{1,4}\\b.*"));这句之所以true 是 . 匹配除了\n外所有字符 当然也包括空格 你把\\b去掉试试 照常是true 这说明\\b 跟空格不匹配 所以 你执行的那两句 就是 false true java基础一题 java读取数据并画曲线图 关于paint方法 有关word 转 pdf 的问题? 怎样在java里面调用oracle里面的自定义数据类型 一个很菜的问题,谢谢高手!! 在java中调用返回值为Cursor的SQL Server2K存储过程的问题? 在java中,如何产生一个唯一的标识?(就象GUID一样) 如何将blob字段内容取出成string字串??? 请问那里有 Thinking in Java第三版的电子版可供下载???多谢 j2se,j2ee和j2me java 图像处理源码
这个正则要求\b所在位置两侧都是字母,不用去试,仅从正则语法角度分析,就可以知道,匹配任何字符串的结果肯定都是false的
System.out.println("hello world".matches("^h[a-z]{1,4} [a-z]{1,5}"));
System.out.println(" ".matches("\\b"));这两句 楼主试试看 \\b 应该不匹配空格 我知道楼主是看马士兵老师的视频 估计是视频有错 System.out.println("hello world".matches("^h[a-z]{1,4}\\b.*"));这句之所以true 是 . 匹配除了\n外所有字符 当然也包括空格 你把\\b去掉试试 照常是true
这说明\\b 跟空格不匹配 所以 你执行的那两句 就是 false true