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

关于java中正则表达式的^与&,还有/b
大家好,小弟最近正在学习正则表达式遇到一点困惑,我们知道^和&我们要匹配的是一行的开端与结束,比如说^abc.*,用这个正则表达式我们可以匹配上abcfdjlajfdajfdjalf...,不管abc之后是什么字符,只要是以abc开头的我们都能匹配成功,但是我在想,如果我们不用这个^,就单单是这个正则表达式abc.*我们照样可以匹配前面是实现我们之前说的那个效果,也就是一abc开头的都能匹配成功,那我们用这个^符号是否没有什么意义呢,我查资料解释说^符号是"匹配一行的开始",那么我想问,这个一行代表的是什么呢,是使用换行符之前的所有字符串还是别的什么意义呢,同样的符号还有&,也存在着同样的疑惑。
还有就是\b这个元字符的使用,很不理解,有没有人对\b这个字符有了解的可以解答一下,谢谢哦~~~!
------解决方案--------------------
http://blog.csdn.net/ld191474639/article/details/7424738
推荐你看看这篇文章
------解决方案--------------------
你可以查下api:
String#matches->
告知此字符串是否匹配给定的正则表达式。 
调用此方法的 str.matches(regex) 形式与以下表达式产生的结果完全相同: 
Pattern.matches(regex, str)

Pattern#matches-->
public static boolean matches(String regex,
                              CharSequence input)编译给定正则表达式并尝试将给定输入与其匹配。 
调用此便捷方法的形式 
Pattern.matches(regex, input);与表达式 
Pattern.compile(regex).matcher(input).matches() 的行为完全相同。 

Matcher#matches-->
public boolean matches()尝试将整个区域与模式匹配。 
如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息。

也就是你理解的,String.matches,是要你输入的正则能够整个匹配才会返回true
话说这个方法我也没用过,刚查了踩知道