Nim 正则表达式执行一次而不是全局替换

Nim regex to perform once not global replace

我们如何要求 Nim regex 执行一次而不是全局替换为特定字符串(例如 let sided by Perl 语法)?

import std/nre

var o="foo bar blah !"
    
echo o.replace( re"(\w+)", "masked")

会是:

$o='foo bar blah !' ;
$o =~ s/(\w+)/masked/g ;
print $o

masked masked masked !

不是预期的

masked bar blah !

api 目前在标准库的模块 renre 中不可用,但在 nim-regex using limit optional parameter (see docs):

中可用
import regex

var o = "foo bar blah !"
    
echo o.replace(re"(\w+)", "masked", limit=1)
# masked bar blah !