2024 Clojure 现状调查! 中分享您的想法。

欢迎!请访问 关于页面 以获取更多信息。

+2
正则表达式
关闭
(def matcher (doto (re-matcher #"(\d{2})\/(\d{2})\/(\d{4})" "12/02/1975 ")
               (.find)))
(.groupCount matcher) ;; 3
(.group matcher 3) ;; "1975"
(nth matcher 3) ;; "1975"
(nth matcher 3 nil) ;; nil, but "1975" expected

似乎是在 Matcher(nth <matcher-instance> <index> <not-found>) 实现中存在一个错误。

  • .groupCount 文档中: “约定中,组0代表整个模式。它不包括在本计数中。”
  • nth 实现 RT.java 中的检查确保 n < m.groupCount()
  • 检查应该是 n <= m.groupCount()
以如下注释关闭: 已在 1.10.2-rc1 中修复

1 答案

+2

已选择
 
最佳答案

已作为 https://clojure.atlassian.net/browse/CLJ-2585 提交并添加了一个补丁 - 很好的发现!

...