小记java正则表达式中matcher.find() 和 matcher.matches() 的区别

matcher.find()

顾名思义,find为查找,其功能为查找字符串中是否有符合条件的字串(包含本身),当查找到时即返回true,更多地与matcher.group(int i) 配合使用,用于从字符串中取出特定字串。

matcher.matches()

要求字符串本身能够完全匹配给定的正则表达式。

可以说,对于单独调用find或matches,当matches返回为true时,find必定返回为true,反之不然。

需要注意的是,这两者会互相影响,对同一个字符串,当先调用matches且返回true时,再调用find,其结果无论如何都不会再返回true了。

你可能感兴趣的:(Java开发,1024程序员节,正则表达式,java)