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

前端之家收集整理的这篇文章主要介绍了正则表达式知识详解之单词边界 (java版示例)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

正则表达式知识详解系列,通过代码示例来说明正则表达式知识
代码下载地址: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]
原文链接:https://www.f2er.com/regex/359324.html

猜你在找的正则表达式相关文章