正则表达式知识详解之单词边界 (java版示例)

来源:互联网 发布:孕妇尿常规检查数据 编辑:程序博客网 时间:2024/05/29 07:13

正则表达式知识详解系列,通过代码示例来说明正则表达式知识
源代码下载地址:http://download.csdn.net/detail/gnail_oug/9504094

示例功能:
1、单词两边都不设置边界
2、单词两边都设置边界
3、左边设置边界
4、右边设置边界

String str="the cat scattered his food catch mcat";System.out.println("----不设置边界-----");Pattern p=Pattern.compile("cat");Matcher m=p.matcher(str);while(m.find()){    System.out.println(m.group()+"   位置:["+m.start()+","+m.end()+"]");}// \b匹配单词边界,换句话说,\b是匹配一个位置,这个位置位于一个能够用来构成单词的字符// (字母、数字和下划线,也就是\w相匹配的字符)和一个不能用来构成单词的字符(也就是与\W相匹配的字符)之间。System.out.println("----两边都设置边界-----");p=Pattern.compile("\\bcat\\b");m=p.matcher(str);while(m.find()){    System.out.println(m.group()+"   位置:["+m.start()+","+m.end()+"]");}System.out.println("----左边设置边界-----");p=Pattern.compile("\\bcat");m=p.matcher(str);while(m.find()){    System.out.println(m.group()+"   位置:["+m.start()+","+m.end()+"]");}System.out.println("----右边设置边界-----");p=Pattern.compile("cat\\b");m=p.matcher(str);while(m.find()){    System.out.println(m.group()+"   位置:["+m.start()+","+m.end()+"]");}

运行结果:

----不设置边界-----cat   位置:[4,7]cat   位置:[9,12]cat   位置:[27,30]cat   位置:[34,37]----两边都设置边界-----cat   位置:[4,7]----左边设置边界-----cat   位置:[4,7]cat   位置:[27,30]----右边设置边界-----cat   位置:[4,7]cat   位置:[34,37]
1 0