String str="da jia zhu yi la,ming tian bu fang jia!";//找出其中的3字母单词
Pattern p = Pattern.compile("\\b[a-z]{3}\\b");
Matcher matcher = p.matcher(str);
while(matcher.find()){
System.out.println(matcher.group());
}
我的理解:扫描串str,一旦发现两个这样的(非字母也非数字)字符中间夹着三个字母或者数字,就为一个匹配?是这样的吗?
显然楼主理解是错的:
这个正则的意思是: 匹配 单词长度为3 且小写的单词
比如 这个正则匹配 what a good boy and guy, BOY!
能匹配到 boy , and 和 guy ,其它的都匹配不到
这个正则的意思是: 匹配 单词长度为3 且小写的单词
比如 这个正则匹配 what a good boy and guy, BOY!
能匹配到 boy , and 和 guy ,其它的都匹配不到
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-05-22
单词边界又叫锚定,在为了不批到其它东西设定的,给个例子给你,可以有助于理解:
你只搜索123
那么 1234,0123,01234,123
在不加边界的情况下,这4个数字中123都会匹配到,如果添加了边界那么就会只搜索123,可以理解为精确搜索123本回答被网友采纳
你只搜索123
那么 1234,0123,01234,123
在不加边界的情况下,这4个数字中123都会匹配到,如果添加了边界那么就会只搜索123,可以理解为精确搜索123本回答被网友采纳