Clojure 2024 调查问卷! 中分享您的看法。

欢迎!请查看 关于 页面以获取更多关于如何使用本网站的信息。

+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) 实现中的一个错误。

  • .groupCount 的文档中可以看到: "传统上,零组代表整个模式。它不包括在这个计数中。"
  • nth 实现中,在 RT.java 中进行的检查以确保 n < m.groupCount()
  • 检查应该是 n <= m.groupCount()
已标记为: 在 1.10.2-rc1 中修复

1 答案

+2

已选中
 
最佳答案

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

...