【发布时间】:2021-08-11 03:49:10
【问题描述】:
我正在尝试编写一个正则表达式替换模式来替换哈希中的数字,如下所示:
some_dict = {
TEST: 123
}
这样可以捕获和替换 123 个。
(?<= |\t*[a-zA-Z0-9_]+: |\t+)\d+(?=.*)
但是,当我在 irb 中运行这个 gsub 时,会发生以下情况:
irb(main):005:0> " TEST: 123".gsub(/(?<= |\t*[a-zA-Z0-9_]+: |\t+)\d+(?=.*)/, "321")
SyntaxError: (irb):5: invalid pattern in look-behind: /(?<= |\t*[a-zA-Z0-9_]+: |\t+)\d+(?=.*)/
我一直在寻找类似的问题,例如 Invalid pattern in look-behind,但我确保在我的后视中排除捕获组,所以我真的不确定问题出在哪里。
【问题讨论】:
-
仅供参考:使用 rubular.com 测试 Ruby 正则表达式
标签: regex ruby regex-lookarounds gsub regexp-replace