最近在學習正則運算式,網上文章都說,普通捕獲分組與命名捕獲分組混用時,編號規則是:先不管命名分組,只對普通捕獲分組進行編號,普通分組編號結束后再對命名分組繼續編號。
但是我在本地測驗的時候,發現運行結果并不符合此規律。
String str = "2012-06-09";
Pattern p = Pattern.compile("(?<year>\\d{4})-(\\d{2})-(\\d{2})");
Matcher m = p.matcher(str);
if (m.find()){
System.out.println(m.group(0));
System.out.println(m.group(1));
System.out.println(m.group(2));
System.out.println(m.group(3));
System.out.println(m.group("year"));
}
運行結果:
分組0:2012-06-09
分組1:2012
分組2:06
分組3:09
分組year:2012
按照網上說的編號規則,分組1應該輸出月份06,而不是年份2012.年份應該是分組3.
哪位大佬幫忙解釋一下,是我哪里寫錯了還是網上規則有問題?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/256088.html
標籤:Java SE
下一篇:Java-Opencv(chromedriver) Forwarding newSession on session null to remote 解決方案
