日期:2014-05-20  浏览次数:21019 次

正则表达式中的\\b是什么?
看到这样的写法 .*\\b 这个匹配什么东西?

另外为何论坛登录后默认保存的用户名去不掉,删除cookie也不行
貌似也不是和ip地址绑定起来的

------解决方案--------------------
\\b匹配是否为单词边界。
------解决方案--------------------
匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。 


\B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
------解决方案--------------------
\\b就是单词的边界,看看有无\\b的区别
Java code
String s = "this is a test testabcd program.";
Pattern p = Pattern.compile("test\\b");
//Pattern p = Pattern.compile("test"); //看看没有\\b结果是什么
Matcher m = p.matcher(s);
while (m.find()) {
    System.out.println(m.group());
}

------解决方案--------------------
探讨
匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。


\B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。