Julia 中的正则表达式匹配

pyr*_*rex 2 julia

我正在尝试提取文本字符串中括号内嵌入的一部分文本:

"Dominion Diamond Corporation (DDC) "
Run Code Online (Sandbox Code Playgroud)

(我想提取DDC)。

仔细阅读互联网表明正则表达式

"\([^)]*\)"
Run Code Online (Sandbox Code Playgroud)

会很有用。

我尝试以下操作:

ret = Regex(regExp)
match(ret, "Dominion Diamond Corporation (DDC) ")
Run Code Online (Sandbox Code Playgroud)

输出:

RegexMatch("Dominion Diamond Corporation (DDC", 1="Dominion Diamond Corporation (DDC")
Run Code Online (Sandbox Code Playgroud)

但是,当我直接将正则表达式输入匹配函数时:

match(r"\([^)]*\)"t, "Dominion Diamond Corporation (DDC) ")
Run Code Online (Sandbox Code Playgroud)

输出是:

RegexMatch("(DDC)")
Run Code Online (Sandbox Code Playgroud)

为什么/这两种表达方式有何不同?如何将任意正则表达式插入到匹配的第一个 arg 中?

day*_*ter 5

正如@Laurel 在评论中所暗示的那样,单个反斜杠并没有通过match函数。

julia> rstring = "\\([^)]*\\)"
"\\([^)]*\\)"

julia> match(Regex(rstring), "Dominion Diamond Corporation (DDC) ")
RegexMatch("(DDC)")
Run Code Online (Sandbox Code Playgroud)