我有以下注册表项,但未能匹配并设置为true?
String whatever = "> blah, blah, blah";
boolean q = Pattern.matches(whatever, "^>+"); // this evaluates to false
我是否在字符串上正确匹配?我错过了什么? THX!
答案 0 :(得分:3)
"^>+"
将匹配一个或多个>
的序列。要匹配以>
开头的字符串,请使用:
whatever.matches(">.+"); // .+ after >
使用String#matches()
方法而不是Pattern.matches()
。方法中参数的顺序不正确。 Pattern.matches()
方法将正则表达式作为第一个参数。你将它作为第二个参数传递。
请注意,在使用matches()
方法时使用正则表达式时,锚是隐式的。您无需明确提供它们。