gpt4 book ai didi

ruby - 如何通过 ruby​​ 的 gsub 创建一个替换字符串中所有匹配项的正则表达式?

转载 作者:数据小太阳 更新时间:2023-10-29 08:21:18 25 4
gpt4 key购买 nike

我想知道为什么我的正则表达式不起作用,我需要实现以下行为:

"aoaoaoaoaoao".gsub!(/o/, 'e')

以上会正确地给我:aaeaeaeaeaeae

现在,真实的东西看起来像这样:

"Today I ate a ((noun)), and it tasted ((adjective))".gsub!(/\(\(.*\)\)/, "word")

结果是:“今天我吃了一个词”,但我希望它能返回给我:“今天我吃了一个字,它尝到了字的味道”

很明显我的正则表达式有问题,(对吧?)因为它只会替换一次。你们能告诉我如何让它取代所有比赛吗? (就像我的第一个例子)

非常感谢!

最佳答案

您需要以下正则表达式:

/\(\(.*?\)\)/

.*? 使用尽可能少的字符来获得匹配。所以问题不在于正则表达式被替换了一次,而是它匹配了太多的字符串部分——从第一个 (( 到最后一个 ))

关于ruby - 如何通过 ruby​​ 的 gsub 创建一个替换字符串中所有匹配项的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7505998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com