我对 java 模式中的限定符使用感到困惑:第一段代码:
private void testRegex(String patternString) {
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher("::::::::");
if (matcher.find()) {
Log.d("regex", matcher.group());
} else {
Log.d("regex", "not match");
}
}
然后我分别尝试testRegex(":?")
, testRegex(":*")
; testRegex(":+")
结果是:
":","::::::::","::::::::";
我知道这是绝对正确的,但是:
我在下面尝试另一段代码:
private void testRegex(String patternString) {
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher("sip::::::::");
if (matcher.find()) {
Log.d("regex", matcher.group());
} else {
Log.d("regex", "not match");
}
}
结果是:
""(empty String),""(empty String),"::::::::"
谁能告诉我到底发生了什么?先感谢您!