ruby 在匹配模板后替换url中的文本

50pmv0ei  于 2023-05-06  发布在  Ruby
关注(0)|答案(1)|浏览(111)

我有以下URL:https://domain.local/users/md43msdfmr45m
使用正则表达式,我想更改为https://domain.local/users/hide-id
我写了下面的正则表达式匹配模板:

\/users\/+(.*)

要替换用户ID,我使用gsub方法:

str.gsub!(/\/users\/+(.*)/, "hide-id")

但是方法替换了https://domain.local之后的值,但应该在users/之后

thtygnil

thtygnil1#

单程

str="https://domain.local/users/md43msdfmr45m"

p str.gsub(/(?<=users\/).*/,"hide-id")

第二条路

replacement = "hide-id"
p str.gsub(%r{(\/users\/)\w+}, "\\1#{replacement}")

%r{}是//的替代方案
输出

https://domain.local/users/hide-id

相关问题