在Java中,
matches尝试将模式与 整个string 进行匹配。
这是真实的
String.matches,
Pattern.matches和
Matcher.matches。
如果要检查字符串中是否有匹配项,可以使用
.*bi.*。在这种情况下,它是Java字符串文字
".*\bi.*"。
java.util.regex.Matcher
API链接
boolean matches()
:尝试根据图案匹配整个区域。
什么.*
意思
如此处所用,点
.是一个正则表达式元字符,表示(几乎)任何字符。
*是一个正则表达式元字符,表示“的零个或多个重复”。因此,例如像
A.*B火柴
A,其次是零或更多的“任何”字样,随后的
B(见rubular.com)。
参考文献
- regular-expressions.info/重复,带有“星号”和“加号”,并且“点”匹配(几乎)任何字符
相关问题
- 之间的差异
.*?
和.*
对正则表达式
请注意,
.和和
*其他元字符可能会失去其特殊含义,这取决于它们出现的位置。
[.*]是与文字句号
.或文字星号匹配的字符类
*。以反斜杠开头的字符也转义了元字符,因此
a.b匹配项
"a.b"。
- regular-expressions.info/Character类以及文字字符和元字符
相关问题
Java没有正则表达式为基础的
endsWith,
startsWith和
contains。您仍然可以使用
matches完成以下操作:
matches(".*pattern.*")-它在任何地方都包含 模式 的匹配项吗?matches("pattern.*")-它以 模式 匹配开始吗?matches(".*pattern")-它以 模式 匹配结尾吗?
String
API快速备忘单
这是一个快速备忘单,列出了哪些方法是基于正则表达式的,哪些不是:
- 非正则表达式方法:
String replace(char oldChar, char newChar)
String replace(CharSequence target, CharSequence replacement)
boolean startsWith(String prefix)
boolean endsWith(String suffix)
boolean contains(CharSequence s)
- 正则表达式方法:
String replaceAll(String regex, String replacement)
String replaceFirst(String regex, String replacement)
String[] split(String regex)
boolean matches(String regex)



