我想做一个字符串替换,如果我在两个术语之间找到一个字符串,我会替换它,所以当我有一个字符串时:
"123 pre 456 post"
我可以得到:
"123 pre 789 post"
我可以通过执行以下操作来做到这一点:
string.sub(/(pre\s+)\S+(\s+post)/, "\\1789\\2")
但是,如果可能的话,我想避免使用这两个捕获。事实上,我想改用这样的正则表达式:/pre\s+(\S+)\s+post/
获取捕获的范围,然后替换它。有没有办法做到这一点(使用标准的 Ruby 库)?