【发布时间】:2016-05-02 03:54:06
【问题描述】:
我正在尝试将此 Java 正则表达式转换为 Go 的正则表达式语法:
[:]?([\D&&[^/]]./)?(/|[\D&&[^/]][^/])
这个正则表达式是匹配 Clojure 关键字的正则表达式,取自 JVM Clojure 编译器。
【问题讨论】:
-
能否提供一些输入值和预期结果?
我正在尝试将此 Java 正则表达式转换为 Go 的正则表达式语法:
[:]?([\D&&[^/]]./)?(/|[\D&&[^/]][^/])
这个正则表达式是匹配 Clojure 关键字的正则表达式,取自 JVM Clojure 编译器。
【问题讨论】:
应该是
var pattern = regexp.MustCompile(`:?([^/\d].*/)?(/|[^\d/][^/]*)`)
模式[\D&&[^/]]表示除了/之外的任何非数字,它可以用扩展的否定字符类[^\d/]来表示。
【讨论】:
[\D&&[^/]]是一个字符类减法的例子。